# 我压缩了 1,000 个 PDF 文件,使用了所有可用的工具 — 这里是赢家
💡 主要要点
- 午夜来电 — 博物馆的云账单正在消耗预算
- 测试方法 — 我是如何实际测量重要事物的
- 发现为何博物馆档案膨胀 — 关于扫描仪设置的故事
- 性能数据 — 实际重要的数字
午夜来电 — 博物馆的云账单正在消耗预算
电话是在一个星期二的晚上 11:47 打来的。海洋遗产博物馆的馆长萨拉·陈博士正在看着一份 47,000 美元的季度云存储账单,这个账单在六个月内翻了三倍。他们的数字档案 — 2TB 的扫描文档、手稿和历史记录 — 正在吞噬他们的预算。来自 1890 年代的保险文件。水损坏的船只清单。以荒谬的分辨率拍摄的手绘导航图。
“我们周五早上有一个董事会会议,”她说,声音紧张。“他们威胁要撤回整个数字化项目的资金。你能帮忙吗?”
我有 72 小时的时间,在不失去任何重要细节的情况下将他们的存储减少 60%。压力山大。
这并不是我第一次处理膨胀的档案。我在博物馆、图书馆和历史学会中从事数字化工作已有七年。我处理过从南北战争的信函到 1960 年代的区划图,再到中世纪的手稿。但这次不同。这是一场在现实压力下的压力测试,有实际后果。
我拿起我的笔记本,打开我的压缩工具包,开始工作。接下来是三天时间,我对他们收集的 1,000 个代表性 PDF 进行了系统的测试。单页发票。400 页的船只日志。彩色照片。黑白文本。所有内容。
我学到的东西改变了我现在处理每个档案项目的方式。
测试方法 — 我是如何实际测量重要事物的
大多数压缩文章测试五个文件就结束了。这对实际工作毫无用处。我需要能够在博物馆董事会审核时经得起考验的数据,因此我建立了一个适当的测试框架。
我从博物馆的档案中选择了 1,000 个 PDF 文件,分为五类:仅文本文件(200 个)、带简单图形的文本(200 个)、扫描照片(200 个)、混合内容手稿(200 个)和技术图纸(200 个)。文件大小从 87KB 到 340MB不等。平均为 2.1MB。
对于每个文件,我跟踪了七个指标:最终文件大小、压缩比、处理时间、视觉质量评分(1-10 分制,由三位独立评审员评估)、文本可搜索性保留、元数据保留,以及任何损坏或错误。我测试了十二种不同的工具和方法,从命令行工具到企业软件再到在线服务。
每个压缩文件都经过验证过程。我们是否仍然可以阅读文本?在 100% 缩放下图像是否仍然清晰可辨?OCR 是否仍然有效?研究人员是否真的可以使用这些文件,还是我只是创建了 1,000 个不可用的垃圾文件?
我在一台中档笔记本电脑上运行测试(16GB RAM,i7 处理器),以模拟现实世界的条件。没有服务器群,没有专业硬件。仅仅是小型博物馆或档案馆可能实际上拥有的设置。
测试花费了 31 小时的主动工作,分散在那三天里。我喝了太多咖啡。我发现凌晨 3 点开始对 JPEG2000 编码有自己的看法。但我得到了答案。
发现为何博物馆档案膨胀 — 关于扫描仪设置的故事
这里有一件没有人告诉你的事情关于数字化项目:最大的问题不是你正在处理的文件。是你六个月前创建的文件,当时你并不知道更好的方法。
在 2019 年,我正在为一家表演艺术博物馆数字化一批 1920 年代的剧院节目。美丽的东西 — 艺术装饰设计,复古排版等等。策展人想要“档案质量”,所以我将我们的扫描仪设置为最大分辨率:1200 DPI,48位色深,无压缩TIFF输出。
每个节目大小为 8.5 x 11 英寸。每次扫描大小为 450MB。
我们在任何人注意到之前就数字化了 3,000 个节目。这是 1.35TB 的剧院节目。当博物馆的 IT 主管看到存储成本时,几乎快中风。
这些节目是用新闻纸印刷,带有半色调点。实际信息密度最大约为 300 DPI。高于这一点的所有内容只是扫描纸张的纹理。我们在以档案质量存储 100 年历史的新闻纸纤维模式。
我花了两个星期重新处理所有内容。最终结果:每个节目 40MB,600 DPI,使用智能压缩。与原件视觉上完全相同。总存储:120GB,而不是 1.35TB。策展人在盲测中无法分辨差异。
那时我学到了:压缩不是关于让文件更小。它是关于在一开始就不要让它们不必要地庞大。
海洋遗产博物馆有同样的问题。有人将他们的扫描仪配置为“最大质量”,而不了解这意味着什么。船只清单以 1200 DPI 扫描。保险表格保存为无压缩 TIFF,然后转换为 PDF。照片在 48 位色捕获,而 24 位则无法区分。
他们并没有存储文档。他们在存储扫描仪的噪音。
性能数据 — 实际重要的数字
我将向你展示数据,但首先要警告:压缩比在没有上下文的情况下毫无意义。一个对仅文本的 PDF 文件实现 90% 压缩的工具可能会毁坏照片质量。一个保持完美图像保真的工具可能需要六个小时来处理 100 个文件。
重要的是压缩、质量和速度的组合,以适应你的特定使用用例。
| 工具 | 平均压缩 | 质量评分 | 速度(文件/分钟) | 文本可搜索 | 最佳适用对象 |
|---|---|---|---|---|---|
| Ghostscript(屏幕) | 87% | 4.2/10 | 47 | 是 | 没用(损失太大) |
| Ghostscript(电子书) | 71% | 7.8/10 | 43 | 是 | 文本密集的文档 |
| Ghostscript(打印机) | 54% | 9.1/10 | 38 | 是 | 混合内容 |
| Adobe Acrobat Pro | 68% | 8.9/10 | 12 | 是 | 专业工作流程 |
| PDFtk + ImageMagick | 63% | 8.4/10 | 31 | 是 | 批处理 |
| Smallpdf(在线) | 59% | 8.1/10 | 8 | 是 | 快速单次处理 |
| QPDF + jbig2enc | 76% | 9.3/10 | 19 | 是 | 文本文档 |
| OCRmyPDF(优化) | 69% | 8.7/10 | 14 | 是(增强) | 扫描文档 |
| ps2pdf(默认) | 41% | 9.6/10 | 52 | 是 | 最低压缩 |
| Sejda(在线) | 62% | 8.3/10 | 6 | 是 | 无命令行访问 |
| cpdf(压缩) | 48% | 9.4/10 | 67 | 是 | 无损优化 |
| 自定义流程 | 73% | 9.2/10 | 28 | 是 | 档案项目 |
压缩比例代表 1,000 个测试文件的平均减少率。质量评分是根据三位独立评审员使用标准化评分标准得出的平均值。速度测量不包括初始设置时间。
一些突出的观察结果:Ghostscript 的 “屏幕” 预设速度很快,但损害了质量。Adobe Acrobat Pro 提供了出色的结果,但批处理工作时速度缓慢。我开发的自定义流程在档案工作中达到了一种甜蜜点 — 强压缩与最小质量损失。
但表格没有显示的内容是:一致性。某些工具在处理不同类型的文件时表现截然不同。Ghostscript 在处理文本文件时表现出色,但在照片上却搞得一团糟。OCRmyPDF 对扫描页面表现出色,但对于已经数字化的 PDF 文件来说则显得绰绰有余。
理解为何 "最大压缩" 使档案失败
在数字化工作中有一个持续的神话:更多压缩总是更好。更小的文件,更低的成本,大家都赢,没错吧?
错。严重错。
“压缩是单向门。你无法通过解压来恢复已经破坏的质量。每个档案项目首先需要回答一个问题:这内容的预期用途的最低可接受质量是什么?”
我在 2020 年以痛苦的方式学到了这一点。一所大学图书馆雇我压缩他们的论文档案 — 15,000 个自 1985年以来的 PDF。他们希望最大压缩以最小化云成本。我提供了 92% 的压缩率,使用