Ubuntu中使用pdftk对PDF文件进行合并、分离

2023-04-25 19:33:34 浏览数 (2)

Pdftk 是一个简单的命令行工具,用来进行日常的 PDF 文档处理,包括合并、拆分和加密、增加水印、解析PDF元数据、压缩和解压、修复受损的PDF文档等功能。

系统环境

Ubuntu 20.04

安装

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

$ sudo snap install pdftk

合并多个PDF

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

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk *.pdf cat output guide.pdf 

或者

代码语言:javascript复制
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参数,后面跟上前缀:

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf burst output user-guide_d.pdf

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

加密pdf

为PDF添加访问密码

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

代码语言:javascript复制
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。

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk user-
guide.pdf output editpw-user-guide.pdf owner_pw Admin123

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

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

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk user-guide.pdf output allpw-user-
guide.pdf owner_pw Admin123 user_pw admin123 

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

代码语言:javascript复制
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。解密编辑密码和访问密码都是同样的命令,但解密顺序首先是编辑密码,然后是访问密码。

代码语言:javascript复制
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文件。

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk started_guide.pdf cat 1-endodd output odd-
started_guide.pdf

提取偶数页面

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

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk started_guide.pdf cat 1-endeven output even-
started_guide.pdf

提取指定页面

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

代码语言:javascript复制
bob@ubuntu-20-04:~/test$ pdftk started_guide.pdf cat 2 3 5 7-
end output rand_page_started_guide.pdf

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:zbxhhzj@qq.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。 转载本站文章请保留原文链接,如文章内说明不允许转载该文章,请不要转载该文章,谢谢合作。

0 人点赞