PDF 阅读器

看、改、签,
一个 PDF 程序全包

PDF 内核是 Pomelo 自己写的,不用现成的 PDF 函数库,整个程序只有 318 KB。 公文、合约、表格,看完直接注解、签名、改字、去浮水印,不必再另外找软件。

PDF 阅读器:左边是页面缩略图,上面有页码、缩放与搜索
阅读

中文公文、加密文件,
打开就能看

  • 没内嵌字体的公文(新细明体、标楷体)改用系统字体显示
  • 竖排、Big5 编码的字体名称也可以
  • 有密码的 PDF:RC4、AES-128、AES-256
  • 坏掉的文件:交叉参照表坏了会自动修复
  • 扫描档:CCITT、JPEG 2000、JBIG2 图片
  • 搜索:全部标黄色、目前这个标橘色,全角英数也找得到
  • 选取文本:双击选词、三击选行,Ctrl+C 复制
  • 多个分页、书签、缩略图,下次打开回到上次那一页
  • 打印(Ctrl+P)、全屏幕(F11)、深色模式
PDF 阅读器
注解与签名

画重点、写笔记、
签上你的名字

  • 萤光笔、底线、删除线:在文本上拖曳
  • 便签、文本:点一下就能写
  • 画笔、方框、椭圆、直线、箭头
  • 可以选颜色与粗细,拖曳、改大小、删除
  • 手写签名:用鼠标签,或用签名的照片(白色背景自动去掉)
  • 存好的签名点一下就放上去,可以拖曳、缩放
  • 在表格的空格里填字
  • 存盘是接在原本的文件后面,其他 PDF 阅读器都看得到
PDF 阅读器的填写与签名:萤光笔、便签与手写签名
数字签名

证明“是我签的,
签完没被改过”

签署与验证都是 Pomelo 自己写的,密码学的部分用 OpenSSL。我们签的文档,用 poppler 验证都有效。

  • 用数字证书(.p12/.pfx)签署
  • 可以自己创建证书,或导入证书颁发机构发的
  • 外观加上手写签名,写原因与地点
  • 点文档里空白的签名字段就能签在那里
  • 签完再加注解,签名仍然有效
  • 可以“查看签署时的版本”、“信任这个证书”
已签署,所有签名都有效签完之后文档没有被改过
签名有效,但有需要注意的地方签署人身分无法确认,或签署后页面被改过
有签名无效文档在签署后被窜改
PDF 阅读器的数字签名:上方的状态栏、左边的签名皮肤与签名内容
整理页面

旋转、重排、合并、加页码

整理页面

所有页面的缩略图,可以旋转、删除、拖曳调整顺序、截取成新文档、插入其他 PDF 或空白页。

合并文件

好几个 PDF 照顺序合并成一份,每个文件在书签里一项;原本的文件不会动。

加上页码

六种格式(例如“第 1 页,共 9 页”)、六个位置,可以从第几页开始编号,封面不编号也行。

编辑内容

直接改页面上原本的字

可以改的每一行字有淡淡的框,点一行就能改,清空就是删掉。

  • 新的字用最接近原本的字体:明体、楷体、黑体,粗体也会跟着粗
  • 同一行后面的字跟着挪;改好的字可以选取、搜索、复制
  • 加入文本:直接写进页面内容,不是注解,别人删不掉
  • 有密码的文件改完还是同一种加密
PDF 阅读器的编辑内容:每一行字有框,点一下就能修改
移除浮水印

浮水印,一次拿掉

自动找出整份文档里可能是浮水印的东西,以及出现在几页;看起来确定的已经勾好,确认后一次移除。

  • 标成浮水印的内容、浮水印图层与注解
  • 每页都有的斜放半透明大字、同一个图案
  • 页眉页脚
PDF 阅读器的移除浮水印:勾选要移除的项目
质量

写出来的文件,别的阅读器也看得懂

用 qpdf 检查

存出来的文件都用 qpdf 检查过,其他 PDF 阅读器看得到一样的注解、签名与页码。

用 poppler 验证签名

Pomelo 签的文档用 poppler 验证都有效(包括加密的文档);窜改过的会显示签名无效。

模糊测试

故意弄坏的 PDF 不会让程序吃光内存或写出界;每页画的东西有上限。

目前还不能:填写表单字段(之后的版本会加上);用读卡器上的证书签署(例如台湾自然人证书);签署时加时间戳。改字是一行一行改,不会自动换行。