「编程之外」 给 PDF 增加目录

Posted by Dawn-K's Blog on July 27, 2021

给 PDF 增加目录

背景

很多 pdf 电子书没有目录,在翻阅时非常不便。事实上在 windows 平台有个很好的解决方案,就是使用 FreePic2Pdf 工具进行对目录的修改。

步骤

提取目录

首先下载 FreePic2Pdf . 打开后在程序的右下角选择”更改 PDF”. 然后在弹出框中选择”从 pdf 中取文件”, 设置好 pdf 路径,文件夹输出路径用默认即可。 然后点击开始,发现在 pdf 同层,多了个文件夹。文件夹中有两个文件,一个是 FreePic2Pdf_bkmk.txt , 一个是 FreePic2Pdf.itf . 我们主要对前者进行修改。

修改文件

txt 的格式要求是这样的:

  1. 以缩进来表示层级,每一级缩进使用一个 tab
  2. 每一行代表一个目录项,对于每一个目录项,目录名和页码之间以一个 tab 隔开

举例:

0x00 基本算法	1
	0x01 位运算	1
	0x02 递推和递归	11
	0x03 前缀和与差分	21
	0x04 二分	25
	0x05 排序	32
	0x06 倍增	39
	0x07 贪心	42

这一步如果使用一些强大的编辑工具,比如 vim 或者正则替换工具,可以在很短的时间内完成。

在修改完 FreePic2Pdf_bkmk.txt 后,我们还要对偏移量做一个修正,也就是目录中的 1 在真正 pdf 中的值是多少。比如我举例的这本书的页码的第一页对应 pdf 的第 11 页。所以打开 FreePic2Pdf.itf ,将里面的对应项修改,也就是 BasePage=11

最后回到 FreePic2Pdf , 打开”往 pdf 挂文件”, 然后选中 pdf 和文件夹,点击开始即可。

参考资料

PDF 没有书签目录?自己动手五分钟生成!