PDF 压缩

两条路:只清理结构、文字照旧能选中搜索;或者整页转成图片重新编码,体积直接掉一个量级。

文件不会上传,读入、渲染和重新打包都在你这台机器上完成。

选择一份 PDF 后开始压缩

关于 PDF 压缩

PDF 的体积几乎都在图里。纯文字的 PDF 一页往往只有几十 KB,因为正文是字体加指令,不是图片。一份几十 MB 的 PDF,九成以上体积来自内嵌的扫描图或照片,而且往往是几百 DPI 的位图。所以真正有效的压缩只有一条路:把图重新按需要分辨率和质量编码。只删元数据、只重写结构,对这类文件基本没用。

对象流能省多少。PDF 里每个对象都要带一段「字典」描述自己,页数多的文件这些描述累计起来很可观。对象流(Object Streams)把多个小对象打进一个压缩流,能省掉不少重复的结构开销。另外没被引用的孤儿对象、重复的 XMP 元数据也常常白占几 MB。这些清理都是无损的,但通常只能省个位数百分比。

120 DPI 往往是甜点。屏幕阅读并不需要 300 DPI:A4 在 120 DPI 下是 992 × 1403 像素,在普通笔记本屏上放大看也够清楚。150 DPI 以上主要服务打印和看清小字。同样一页,300 DPI 的像素数是 120 DPI 的 6.25 倍,体积也大致是这个倍数关系——把精度从 300 降到 120,往往就是十倍的差别。

转图片之后就搜不到了。转图片重排会让文字变成像素,复制、搜索、朗读、屏幕阅读器全部失效,链接和表单也一并消失。所以「转图片」适合最终交付的成品(宣传册、走查稿、扫描件),不适合还需要检索或继续编辑的文档。要两者都想要,只能上 OCR 把文字层再加回去,那是另一套流程。

加密和签名的文件不该动。带打开口令的 PDF 在这里读不进来,需要先去掉口令。带数字签名的 PDF 更要注意:任何重写都会让签名失效——签名保护的是文件的字节内容,改一个字节就验不过。这类文件请在原工具里处理,不要用第三方压缩器。