article_image

阅读没有目录的 PDF,如同不带地图就去陌生之境涉险。

可惜,在线书城割据的当下,提供书籍下载的厂商本就凤毛麟角,进一步提供 PDF、还给你做好目录的,我所知只有图灵社区,而在2023年之后,这颗仅存的硕果也不复了。

好读书之士,几乎只剩自制目录一途(姑且不论花钱找人代劳),此时却会发现并不方便。Windows 上的工具不少,但我用得不多,不评论;macOS 这边则在闹饥荒,而且还两极分化,要不基础如 PDFOutline,要么就过于追求自动化,反而很容易失效。

或许在完全人工与全自动化之间,尚有第三条路径——半自动化。我并不奢求某款神奇软件能从扫描版 PDF 中自动提取文字并创建目录,只求能够保证:在已有文字版目录时,能据此在 PDF 中添加目录。

一旦将获取文字版目录(包括页码)和在 PDF 中创建目录两件事分开,那么略显笨拙却极其可靠的半自动化方案,也就浮出水面。

Keyboard Maestro 动作下载

第一步:获取文字版目录

全手动添加目录的工具尚有几款,比如本文选择的 PDFOutline,以及诸位想必非常熟悉的 PDF Expert(但这玩意儿需订阅,我没买,故不评价)。手动操作,本质上就是创建创建一个条目(entries),再填上对应的页码,非常机械,也的确很累人,而且和扣扣子一样,一旦漏了或重复一次,后续的目录页码可能就会全部乱套。本文所取的方案,即先获取条目和对应页码,编成表格,最后再用 Keyboard Maestro 模拟键鼠操作、创建目录。

第一步当然是先获得目录信息,即条目和页码。最幸运的情况下,有些文字版 PDF 本身就可以拷贝目录;不过多数书籍可能还是要上网查询,除了最容易想到的豆瓣,也可以从京东、当当、大書城(megBook)等电商网站上看看有无目录,另外,出版商也可能提供目录及页码。

实在运气不好,还剩下手动提取文字这最后一条路。所幸如今 OCR 工具普及——最不济,还能用微信——三百来页的书,若有四五页目录,大概也只需要几分钟就能复制下来,常接触外文书籍的,还可以参考《Keyboard Maestro x OCR,在多语言环境中轻松抓取文字》。

手工制作目录固然要一些力气,但比起难如抽丝的阅读,这点时间实在 微不足道,个人使用大概已经足够。说到底,这篇文章也不是给终日制作盗版书之徒写的。

第二步:整理成 Numbers 表格

获取条目和页码后,就可以制作一份表格,将数据收拾整齐,以便在后续步骤中 Keyboard Maestro 可以准确获得所需数据。上一步获得的数据有两列,但实际制作时还需要获得 PDF 中每一条目对应的页码,而由于封面、序言和目录的存在,原始页码往往和 PDF 中的真实页码对不上,需要加上前述页面所占据的页数。

这便是选用 Excel 或 Numbers 等表格工具的原因:引入公式,快速算出 PDF 文件中各条目的位置。公式非常简单,无非是 =原始页码+差额页数,例如我当前要处理的书在正文第一页之前有整整 26 页七七八八的东西,那就可以加上 26;只需输入一次公式,然后选中该单元格,就能在格子下方看到一个小圆点(名为填充柄),拉住它,往下拉,就可以一路算出所有条目的页码。

第三步:用 Keyboard Maestro 和 PDF 编辑器创建目录

到这一步,还剩最繁重的一环:将目录数据搬到 PDF 中。手动操作不便前已述及,不过,若低头稍稍观察手动搬运目录的动作,很容易发现极有规律,无非是先从表格文件中拷贝数据,再跑到 PDF 编辑器(本文以 PDFOutline 为例)中粘贴并另起一行、等待下一步,紧接着又切回表格,继续拷贝数据、一再重复。

机械操作的苦闷之处无需多言,但其中也隐藏了(半)自动化的契机:将动作打包成组,再用 Keyboard Maestro 模拟,并循环数次。以搬运页码——此操作所需工序较多,展示效果更明显——为例,下图便是 Keyboard Maestro 模拟的过程,设好循环次数,确保 Numbers 和 PDFOutline 已经打开,再通过顶部菜单栏启动 Macro,然后稍作休息,静待 Keyboard Maestro 交出成品即可。

惟需注意,既然是模拟键鼠,则除了稍花一些时间,更大的弊端在于其间不能使用电脑,否则会和 Keyboard Maestro 的操作冲突。不过,相比手工劳动,半自动化已经进步太多。而且,Keyboard Maestro 和 PDFOutline 只是临时结盟,如有一天后者不再维护以致失效,则大不了换另一款 PDF 页码编辑工具,无需被特定软件绑死。

以下 Macro 仅为示例,请观察您的实际操作,如工具或操作与我不同,则需对 Macro 作相应修改:Keyboard Maestro Macro 下载。

拓展用法:顺便生成可点击的纯文本目录

若只是单纯为 PDF 创建目录,

机器阅读:已开放本文前 70% 的正文,剩余内容会员可见。 标准阅读页 · Markdown


author_avatar

法律顾问,前律师, macOS/iOS 自动化业余玩家。有效即合法,无效的优雅有罪。