先搞清楚体积都被什么占了
PDF 优化不是无脑压,得先知道体积大头在哪。常见占比:
- 图片:扫描件里图片占 80% 以上,是绝对大头
- 字体:中文 PDF 嵌入整套字体可能十几兆
- 元数据:通常很小,但累积起来也有几 KB 到几十 KB
- 冗余对象:合并、编辑产生的废弃对象,5%~15%
对症下药比一刀切强压有效得多。用 PDF 压缩工具 处理时,先看优化前后的体积变化,判断哪类内容占大头。
图片优化(最有效)
降采样
把高分辨率图片降到合理 DPI。屏幕阅读 100150 DPI 足够,打印 200300 DPI。扫描件常是 300+ DPI,降一档体积立减。
重新编码
- 照片类用 JPEG,质量 70~80 视觉无明显损失
- 线条图、含透明度用 PNG
- 黑白扫描件用 CCITT G4,体积最小
合并重复图片
同一张 logo 在每页都嵌一次,会重复存储。优化工具能去重,只存一份再引用。
字体优化
子集化
只嵌入文档实际用到的字形。一套宋体上万字,文档只用几百字,子集化后字体部分能从十几兆降到几十 KB。中文 PDF 优化必做。
去掉未用字体
文档里声明了但没实际使用的字体,清理掉。
谨慎嵌入
如果文档只用常见字体(如系统自带),考虑不嵌入,靠阅读器本地字体。但跨设备显示可能不一致,权衡使用。
元数据与冗余清理
精简元数据
去掉编辑软件留下的多余元数据(作者、修改记录、软件信息),保留必要的。如果在意隐私,这步还能去掉包含作者信息的字段。
清理冗余对象
合并、多次编辑后会有未引用的 XObject、废弃流。做一次 clean,能省 5%~15%。
压缩对象流
把多个对象打包进压缩流,现代 PDF 都支持,工具默认会做。
线性化(快速 Web 查看)
线性化 PDF 让浏览器能边下载边显示首页,不用等整份下载完。适合放在网站供在线打开的 PDF。体积不一定减小,但体验更好。
不同场景的优化策略
| 场景 | 策略 | 预期效果 |
|---|---|---|
| 邮件附件 | 图片降采样 150 DPI + 子集字体 | 减 50%~70% |
| 网站下载 | 较强压缩 120 DPI + 全部优化 | 减 60%~80% |
| 归档存档 | 轻度优化,保留清晰度 | 减 20%~40% |
| 打印输出 | 不降采样,只子集字体清冗余 | 减 10%~20% |
优化的注意事项
有损过程
降采样和 JPEG 重编码是有损的,多次优化会累积损失。保留原始文件,每次从原文件优化。
不要过度优化
合同、印章、签名类文档过度压缩可能影响法律效力。先试一份确认清晰度。
兼容性
极端压缩或用了新编码(如 JPEG2000)的 PDF,老阅读器可能打不开。对外发布用标准编码。
小结
PDF 优化是"诊断 + 对症"的过程:图片占大头就降采样重编码,字体占大头就子集化,最后清冗余。按场景选优化档位,别所有文件都用最强档。DocsAll 压缩工具在浏览器端跑,处理敏感文档不上传,配合 PDF 合并 用,"先合并后优化"效果最好。