如何在不损失质量的情况下压缩 PDF(2026 指南)
一份实操向的 PDF 压缩指南:到底是什么让文件变小、什么时候质量会真的下降、以及如何在浏览器内安全压缩,全程不上传任何文件。
多半你也经历过:发个 40 MB 的 PDF,邮件直接被退回。烦。说实话,文档本身往往没问题。真正的情况是:嵌入图片以打印分辨率保存、字体被嵌入了两次、源软件写文件时太啰嗦。PDF 压缩做的事就是把这三件事修好,又不让文档变得更难读。
这篇讲压缩到底做了什么、什么情况下质量会真的受损、以及如何在浏览器内做这件事,全程不上传。
PDF 内部是什么
PDF 是对象的集合:文字流、图片流、字体子集、注释、嵌入文件、元数据。其中对绝大多数文档来说,体积主要来自图片。扫描页其实就是 PDF 容器里的一张 JPEG。导出为 PDF 的演示文稿则按原始位图分辨率携带每张图表与截图。
减小文件体积,意味着做以下三件事之一:
- 重新编码嵌入图片,降低质量或分辨率。
- 字体子集化与去重,每个字形只存一次。
- 重新打包对象流,用更高效的编码(FlateDecode 替代 LZW 或 raw)。
其中图片重编码的杠杆远高于另外两项。字体子集化对读者完全不可见。流的重打包也不可见。图片重编码是唯一可能产生可见差异的步骤,也是你能控制的那个旋钮。
三档预设,三种取舍
多数在线压缩器(包括 AinnoBox)暴露三档旋钮。它们到底做了什么:
| 档位 | 图片质量 | 典型节省 | 适合 |
|---|---|---|---|
| 高 | JPEG q=85,200 DPI | 15–30% | 需要打印的文档 |
| 均衡 | JPEG q=70,150 DPI | 40–60% | 邮件、归档、网页下载 |
| 低 | JPEG q=55,100 DPI | 60–85% | 仅屏幕阅读,不打印 |
说实话,如果你不确定结果是否可接受,最简单的做法就是同一个文件三档都跑一遍。看几页有代表性的内容,挑体积最小但仍能看的那一档。一分钟的事。
什么时候压缩真的会有损
多数文档可以放心压缩,因为可见信息本来就是过采样的。但还是有一些会咬人的情况:
- 细线条艺术与工程图。JPEG 重编码会在硬边缘附近引入振铃。用"高"档,或者保持不压缩。
- 需要 OCR 的文档。过度降采样会让字形变得模糊,OCR 错误率上升。要 OCR 就保持至少 200 DPI。
- 含手写签名的表单。对印刷字体看起来没问题的档位,可能把签名糊成一团。
- 已经压缩过的文档。对 JPEG 再次有损压缩;节省不大,质量损失累积。
OCR 那条我自己踩过坑:把一张压得很狠的票据扫描丢进 OCR,输出一堆乱码,调了一小时 prompt,后来才反应过来是输入的问题。
在浏览器内压缩
多数在线压缩器要求把 PDF 上传到他们的服务器。对法律文件、签好的合同或含个人信息的任何东西来说,这是真实的隐私顾虑。即使运营方事后删除文件,这些字节也确实在别人的磁盘上待过一段时间。
AinnoBox 完全在你的浏览器内运行。PDF 被读入内存,pdf-lib 解析文档,嵌入图片用 Squoosh WASM 重编码,结果以下载形式交回。整个过程没有任何上传。在工具运行时打开开发者工具的 Network 标签自己核对就能确认。
立刻试试:PDF 压缩工具 →
速查清单
- 从"均衡"档开始,通常这就是正确答案。
- 用于打印,选"高"。
- 仅屏幕阅读且要发邮件,"低"也行。
- 需要 OCR 的文档,永远不要低于 200 DPI。
- 图表与工程图,优先字体子集化与流的重打包,而不是图片重编码。