利用 pdf.tocgen 生成 pdf 的目录

这是一个用Python实现的工具,感觉主要优势是利用命令行查找生成pdf目录,并且支持多个平台。

安装和详细说明戳链接: pdf.tocgen. 这里的介绍目的 为了补充下解释,快速的知道怎么用。

步入正题

1
2
3
4
5
6
7
8
9
10
11
                          in.pdf
|
|
+----------------------+--------------------+
| | |
V V V
+----------+ +-----------+ +----------+
| | recipe | | ToC | |
| pdfxmeta +--------->| pdftocgen +-------->| pdftocio +---> out.pdf
| | | | | |
+----------+ +-----------+ +----------+

如图,工具由3个独立应用程序组成:

  1. pdfxmeta: 从pdf文档中提取标题的一些特征
  2. pdftocgen: 利用标题的特征在pdf文档中查找并生成标题结构
  3. pdftocio: 将生成的标题结构合并到pdf文档中

参考使用方法解释一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 下面2句就是通过在in.pdf中先找到标题的特征,并保存在recipe.toml文件中
# 第一句的意思是在pdf的第14页匹配"Section"的字符串,作为1级标题的特征
# 第二句的意思是在pdf的第14页匹配"Subsection"的字符串,作为2级标题的特征
pdfxmeta -p 14 -a 1 in.pdf "Section" > recipe.toml
pdfxmeta -p 14 -a 2 in.pdf "Subsection" >> recipe.toml

# 下面这句是通过刚刚找出来的特征,在pdf自动生成目录结构,并保存在toc文件中
# PS:用了-v选项是为了精确到一页内的具体行的偏移
pdftocgen -v in.pdf < recipe.toml > toc

# 最后合成后生成out.pdf
pdftocio -o out.pdf in.pdf < toc