# 我的 PDF 制作三件套：压缩、目录和页码

> 本文公开全文。

原文：https://utgd.net/article/20511

我从事政法类工作，经常制作超长篇幅的 PDF，离不开目录、页码和压缩三项操作；业余时间，我会把一些不便于随身携带的图书扫成 PDF，以供差旅途中阅读，同样涉及前述几项功能。

吾辈不喜欢把购买软件和解决划上等号，能用原生软件就用原生软件，能自己写脚本解决就自己动手。但制作 PDF，涉及很多进阶编辑功能，还是需要接纳专业工具。“专业”，也不等于 Adobe 或 PDF Expert，苟目标明确，往往可以找到轻量、便宜（甚至免费）的小工具，本文就以本人的真实处理流程为例，分享三款 macOS 上的 PDF 加工工具：PDF Squeezer、PDFOutline 和 pdf Paginate Pro。

## 从了解 PDF 处理流程开始

比起上来就聚焦某一款工具，管见以为，更重要的是了解整个 PDF 处理流程。如果不注重顺序，以为软件万能，那么往往会导致 PDF 数据丢失甚至文件损坏。许多涉及 PDF 的处理都会弄丢或者破坏一部分数据，例如 OCR 识别后的 PDF 往往会丢失目录，而压缩操作通常会彻底破坏文字层、令 OCR 成果付诸东流……若是不了解这些细节，难免会以为是工具自身的问题，错怪开发者的同时，也与解决问题的正确途径失之交臂。

上图中所列问题大多是经验性的，并且受制于系统版本、编辑工具甚至电脑处理器，我收集的数据本身可能对你毫无意义，但方法却不应忽视。无论如何，我还是列出常见问题，建议亲自试一试，确定你自己的问题清单，并据此调整 PDF 加工顺序：

- 压缩 PDF 后，文字层一般会破损或消失；

- 用 DEVONthink OCR PDF 后，批注和目录会消失；

- 在 Preview（预览工具）中直接编辑页面，有很大概率导致文字层破损；

- 用多个编辑器同时读取同一份 PDF，很可能导致文字层破损；

- ……

在我测试的场景中，为避开上述问题，比较合理的处理流程就是先压缩、再 OCR、最后添加目录，并尽可能避免在制作完成后编辑 PDF 本身——包括增减页面、调整页面顺序或二次压缩等操作。

华罗庚曾以烧水煮茶为例，剖析顺序——用效率这个小圈子的话来说，就是“XX管理”——的重要性，而一个人如果不统观全局就开始使用工具，恐怕和那些干等水烧开的人一样误入歧途。

## 压缩体积：PDF Squeezer

扫描版 PDF 通常需要压缩体积。尤其是自制的 PDF，因为现在的手机分辨率极高，制作出来的扫描件通常大的没有必要——这固然也是相对的，如果一个人希望制作古籍或画册的电子版，那么再怎样追求画质也不过分；但以文字为主的内容，则是能够看清即可，再清晰一些就是浪费电脑空间了。

网上纵然有不少压缩服务，可一来万万不可把机密数据传上去，二来可以想见，这些网站难保不涉足盗版。于是本地压缩工具成了唯一选择。我选用了小巧的压缩工具 PDF Squeezer，从前两个大版本一直用到现在。最新版本的 PDF Squeezer 加了一个效果预览窗口，可以对比压缩前后的画质，满意了再导出——压缩和预览都不花钱，只有导出时才需付费（买断），不怕开错盲盒。

和 Scanner 类似，PDF Squeezer 也是那种默默无闻的工具，除了自己那一亩三分地，从来不觊觎其他工具的领地，这种精神让人佩服：不用担心昔日的灵巧手术刀，忽然有一日膨胀成需要两个人才能抬起来的电锯。

不过，与在线服务相比，PDF Squeezer 既然依赖于本地硬件，其速度也就不太乐观，以 M1 芯片的入门款电脑为例，两三百页的文件可能要用上一个小时，因此建议先摘几页出来、压缩一下看看效果是否满意，确定合适的压缩比率后再整本加工，以免苦等半天却得来垃圾文件。

## 创建目录：PDFOutline

没有目录的 PDF，如同不带导航的出国自驾游，让人无所适从。

各个工序中，最无害的恐怕就是插入目录（Table of Contents, TOC），不过多数阅读器或编辑器对目录编辑都力有未逮，如果你上网搜索“mac pdf add toc”，搜索结果大概已经被某几个营销页面霸占了。

除了那些年久失修的开源项目，我还找到了一款轻量级目录编辑工具——PDFOutline，其不仅可以添加、删除或调整目录入口（entries）顺序，还能调整层级，适合给章节布置复杂的图书自制目录。

当然，也有能够一次性导入目录的工具（但基本只有 Windows 版），不过管见以为，编辑目录是了解待读书籍的第一步：如果连图书结构都不清楚，就贸然开始阅读，显然操之过急，而常常听到的“读目录”之劝告，实践起来却如同要一个青春期的少年忍住别看色情杂志一样困难，此时，手动编辑目录，一个章节一个章节加上去，如同前往异国他乡前熟读地图一样，本就不能省去。

具体而言，我不会照搬书籍原本的目录，而是先细细标出打算阅读的章节，其余留到以后再说，以免占用当前时间；而作者和出版商提供的目录如果太粗（很多书只有简目），我也会从头到尾翻一遍待读部分，将目录细化到三级甚至四级。

## 添加页码：pdf Paginate Pro

在别处扫描得来的图书中，目录更加重要；而自己编写的文档，则更需要页码。能够添加页码的工具不少，但 pdf Paginate Pro 胜在通用，其所谓的页码其实是注释（Annotations），几乎所有 PDF 阅读器——包括原生预览工具——都可以继续修改，偶尔需要移除或替换几页，非常方便。

其他软件往往不采用注释，例如 WPS 创建的页码就是嵌入 PDF 的，似乎只有特定的几款编辑器可以修改或删除（不保证此断言适用于所有系统所有版本的 WPS），我同事用 WPS 添加的页码，我就改不了，每次还要麻烦本尊，非常恼人。

## 小结

有人喜欢格式工厂式的超大型软件，这种行事风格倒无可非议；但把鸡蛋都放进一个篮子里，则太依赖某个特定厂商，也害怕出现“单点故障”，因为一点系统兼容性或纯粹政策方面的原因就用不上整套工具。相比之下，我更喜欢弄清自己要处理的任务，然后用最轻巧的工具解决它们。

---

[前往标准阅读页](https://utgd.net/article/20511?audience=web)
