Ubuntu中使用pdftk合并、分离PDF文档等操作

PDFtk有三个版本、一个是Free免费版、一个Pro专业版需要付费、一个是server命令行版本。使用PDFtk可以合并、拆分等操作pdf文档

系统环境

Ubuntu 20.04

安装

使用snap包管理器来安装pdftk:

$ sudo snap install pdftk

合并多个PDF

下面例子中将admin_guide.pdf started_guide.pdf user-guide.pdf三个文件合并在一起,输出文件名为:guide.pdf:

bob@ubuntu-20-04:~/test$ pdftk *.pdf cat output guide.pdf
或者
bob@ubuntu-20-04:~/test$ pdftk A=user-guide.pdf B=started_guide.pdf C=admin_guide.pdf cat A C B output Guide.pdf

使用A,B,C变量之后,可以按照自定义的顺序合并。

可以看到合并之后对的大小是2M。是前面三个文件合并之后的大小。

拆分PDF

使用burst参数来拆分PDF。如果需要指定切割后的每一个pdf文件名,可以添加output参数,后面跟上前缀:

bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf burst output user-guide_%02d.pdf

上面output后面跟的值,%02d意思是输出2位十进制的数字。

加密pdf

为PDF添加访问密码

将user-guide.pdf文件加入访问密码admin123,并保存为encrypt-user-guide.pdf文件。

bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf output encrypt-user-guide.pdf user_pw admin123

看到下图,打开encrypt-user-guide.pdf文件时需要提供密码。

为PDF添加编辑密码

下面将user-guide.pdf文件添加编辑密码,密码为Admin123。输出文件为editpw-user-guide.pdf

bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf output editpw-user-guide.pdf owner_pw Admin123

为PDF添加访问密码和编辑密码

下面命令使用owner_pwuser_pw设置编辑密码和访问密码。

bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf output allpw-user-guide.pdf owner_pw Admin123 user_pw admin123

使用下面的allow printing参数,可以让加密的文件支持打印。

bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf output encrypt-user-guide.pdf owner_pw Admin123 allow printing

可以看到下图,不能点击打印,这是没有添加allow printing参数的状态。

下面图片是添加allow printing参数的状态,不需要输入编辑密码,就可以打印:

解密PDF

下面是解密命令,关键参数是input_pw,首先需要提供编辑的密码,也就是设置的owner_pw参数,导出为noeditpw-user-guide.pdf之后,再将noeditpw-user-guide.pdf文件解密访问密码,也就是user_pw参数,导出文件为decrypt-user-guide.pdf。解密编辑密码和访问密码都是同样的命令,但解密顺序首先是编辑密码,然后是访问密码。

bob@ubuntu-20-04:~/test$ pdftk encrypt-user-guide.pdf input_pw Admin123 output noeditpw-user-guide.pdf
bob@ubuntu-20-04:~/test$ pdftk noeditpw-user-guide.pdf input_pw admin123 output decrypt-user-guide.pdf

提取页面

提取奇数页面

使用下面命令提取出文件中的奇数页,使用的参数是1-endodd意思是从第一页到尾页选择odd(奇数页),导出为odd-started_guide.pdf文件。

bob@ubuntu-20-04:~/test$ pdftk started_guide.pdf cat 1-endodd output odd-started_guide.pdf

提取偶数页面

使用下面命令提取出文件中的偶数页,使用的参数是1-endeven意思是从第一页到尾页选择even(偶数页),导出为even-started_guide.pdf文件。

bob@ubuntu-20-04:~/test$ pdftk started_guide.pdf cat 1-endeven output even-started_guide.pdf

提取指定页面

下面命令可以提取出指定页数并另存文件。

bob@ubuntu-20-04:~/test$ pdftk started_guide.pdf cat 2 3 5 7-end output rand_page_started_guide.pdf

总结

pdftk具有强大功能,具有合并PDF文档 、分割PDF、旋转PDF页面、解密PDF密码、加密PDF等众多功能。

资源下载: