给pdf文件添加书签
2020年09月02日
本文主要参考pdf-bookmark的项目主页.
安装 #
pdf-bookmark是一个python包, 运行依赖于PDFtk和Ghostscript, 我们要先安装这两个外部程序再运行pdf-bookmark.
-
先更新apt库并安装两个外部程序.
sudo apt update sudo apt install pdftk-java sudo apt install ghostscript
运行以下命令来测试是否安装成功.
pdftk --version gs --version
-
安装python3与pip3(如果已经安装则可以跳过这一步).
sudo apt install python3 sudo apt install python3-pip
运行以下命令来测试是否安装成功.
python3 --version pip3 --version
-
因为我们需要pdf-bookmark的脚本文件在PATH中, 所以在全局安装pdf-bookmark.
sudo -H pip3 install pdf-bookmark
运行以下命令来测试是否安装成功
pdf-bookmark --version
书签格式 #
为了给pdf文件添加书签, 我们需要先自行整理书签的内容, 保存为后缀名为bmk的文件. 一个例子如下:
!!! collapse_level = 2
!!! num_style = Roman
!!! num_start = 3
Introduction....vii
Notation and Terminology....ix
!!! new_index = 9
!!! num_style = Arabic
Chapter 1: Rings and Ideals....1
Rings and ring homomorphisms....1
Ideals. Quotient rings....2
Chapter 2: Modules....17
Modules and module homomorphisms....17
Submodules and quotient modules....18
Chapter 10: Completions....100
Topologies and completions....101
Exercises....113
Chapter 11: Dimension Theory....116
Hilbert functions....116
Dimension theory of N oetherian local rings....119
Exercises....125
Index....127
这是Atiyah写的Introduction to Commutative Algebra书的pdf版本书签的一部分. pdf文件中前言部分从iii到x, 共有8页, 从第9页开始为正文部分, 直到文件的最后.
bmk文件的主体为书签本身, 一行代表一个书签内容, 书签标题与页码由至少4个点”.
“分割. 缩进代表了书签之间的嵌套, 默认的缩进字符为两个空格.
以三个感叹号”!!!
“开始的行代表了行内命令, 每条命令都会修改某一个书签设置变量, 其效果直到另一个命令再次修改这个变量. 常用的行内命令为:
collapse_level
. 表示直到多少层为止的书签会被展开.0
值代表每层书签都被展开. 合法值为自然数值. 默认值为0
.num_index
,num_start
. 表示bmk文件中接下来为num_start
的页码, 代表着pdf文件中的第num_index
页. 合法值为正整数值. 默认值均为1
.num_style
. 表示bmk文件中接下来的页码类型. 合法值为Arabic
,Roman
,Letters
. 默认值为Arabic
.
运行 #
在同一个目录下放置pdf文件input.pdf
以及书签bmk文件bookmark.bmk
, 运行命令
pdf-bookmark -p input.pdf -b bookmark.bmk -o new.pdf
即可得到带书签的输出文件new.pdf
.