Phil Lee

在 Linux 上使用pdftk工具处理PDF,包括合并、拆分、旋转、拆分成单页、加密和解密、添加水印、压缩和解压缩,甚至还有修复。

安装pdftk

由于各个发行版安装方法不一,尤其是Ubuntu18.04以后版本无法使用apt安装pdftk,所以这一步不再赘述,根据自己使用的版本自行查找相关教程。

获得PDF文件信息

输入如下命令:

1
$ pdftk in.pdf dump_data output info

其中in.pdf是希望修改的pdf文件,info是自由指定的pdf文件结构输出文件,dump_data是pdftk的获取结构的指令,output是pdftk的输出到文件的指令。运行成功则生成info文件。

添加或修改PDF目录

打开上面生成的info文件,如果存在目录,则可以找到下面的四行代码

1
2
3
4
BookmarkBegin
BookmarkTitle: 第一章
BookmarkLevel: 1
BookmarkPageNumber: 11

这四行表示一个书签,也就是我们需要的一个“目录”。类似的四行文本重复出现,表示多个书签。假如pdf文件原来没有目录,可以在第一个PageMediaBegin之前增加这样的四行。这四行的意思是:开始标志、标题、层级和页码。注意标题如果是英文,可以直接写;而如果是中文,则需要将中文转化成类似上面例子中的十进制Unicode编码才能正常显示。最后要记得保存info文件。

PDF合并

若干个PDF合并为一个

1
$ pdftk pg1.pdf pg2.pdf pg3.pdf pg4.pdf pg5.pdf cat output OneDoc.pdf

cat选项表示将文件连接在一起,output 选项指定新文件的名称。

选取若干页合成一个新的PDF

你如果想要创建仅包含上面创建的文档的第1至5页和第10页的新PDF,那么执行以下操作:

1
$ pdftk OneDoc.pdf cat 1-5 10 output new1.pdf

如果你想要第1页和3至10页(总计10页),我们可以使用以下命令:

1
$ pdftk OneDoc.pdf cat 1 3-end output new2.pdf

PDF拆分

如果你想将一个PDF文件拆分为单独页的PDF文件,则可以使用如下命令:

1
2
3
4
5
6
7
$ pdftk allpgs.pdf burst
$ ls -ltr *.pdf | tail -5
-rw-rw-r-- 1 shs shs 22933 Aug 8 08:18 pg_0001.pdf
-rw-rw-r-- 1 shs shs 23773 Aug 8 08:18 pg_0002.pdf
-rw-rw-r-- 1 shs shs 23260 Aug 8 08:18 pg_0003.pdf
-rw-rw-r-- 1 shs shs 23435 Aug 8 08:18 pg_0004.pdf
-rw-rw-r-- 1 shs shs 23136 Aug 8 08:18 pg_0005.pdf

加密PDF

创建一个带有密码的PDF,使用以下命令:

1
$ pdftk prep.pdf output report.pdf user_pw 123456789

到这里就完事了。。。


快去下方评论吧~~

 评论



博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Material-x 作为主题 , 总访问量为 次 。
载入天数...载入时分秒...