利用命令行工具pdftk对PDF进行合并分割

5次阅读

共计 1309 个字符,预计需要花费 4 分钟才能阅读完成。

pdftk 是非常好用的 PDF 页面操作工具,能够切割、合并、提取指定页面等。
参考:PDF 合并和分割工具 –PDFtk 参考官网:PDFtk server: the pdf tool kit
常用包括的功能如下:

合并 PDF;
分割 PDF 页面;
旋转 PDF 页面;
PDF 带密码访问;
PDF 填加密码;
用 X/FDF 填写 PDF 表格;
从 PDF 表格中生成 PDF Data Stencils;
加背景水印或前景印章;
报告 PDF Metrics,书签和元数据;
增加 / 更新 PDF 书签或元数据;
给 PDF 页面或文档加附件;
解压 PDF 附件;
分解 PDF 文档为多个单页;
解压缩和重压缩页面流;
修复受损的 PDF 文档;

安装
Linux 上安装:
$ sudo apt-get install pdftk
Mac 上安装:因为它对 Homebrew 支持还不算特别好,需要这样指定文件位置来安装:
$ brew install https://raw.githubusercontent.com/turforlag/homebrew-cervezas/master/pdftk.rb
常用命令
#提取 1 -15 页为一个文件
$ pdftk input.pdf cat 1-15 output new.pdf

# 提取第 1 至 3,第 5,第 6 至 10 页,并合并为一个 pdf 文件
$ pdftk input.pdf cat 1-3 5 6-10 output combined.pdf

# 合并 (concatenate) 前面所有的 pdf 为 output.pdf
$ pdftk file1.pdf file2.pdf … cat output new.pdf

# 拆分 PDF 的每一页为一个新文件 并按照指定格式设定文件名
$ pdftk input.pdf burst output new_%d.pdf

# 按照通配符,合并大量 PDF 文件
$ pdftk *.pdf cat output combined.pdf

# 去除第 13 页, 其余的保存为新 PDF
$ pdftk in.pdf cat 1-12 14-end output out1.pdf

# 扫描一本书,odd.pdf 为书的全部奇数页,even.pdf 为书的全部偶数页,下面的命令可以将两个 pdf 合并成页码正常的书
$ pdftk A=odd.pdf B=even.pdf shuffle A B output collated.pdf

# 按 180°旋转所有页面
$ pdftk input.pdf cat 1-endsouth output output.pdf

# 按顺时针 90°旋转第三页,其他页不变
$ pdftk input.pdf cat 1-2 3east 4-end output output.pdf

# 输入密码转换成无密码 PDF
pdftk secured.pdf input_pw foopass output unsecured.pdf

修改 PDF 的文件结构(目录)
大概流程是:

提取 PDF 的目录结构为一个 txt 文件
手动修改 txt 文件中的目录结构
将 txt 文件重新加载到 PDF 中并生成一个新文件

# 提取信息
$ pdftk sample.pdf dump_data output info.txt

# 修改信息
# …

# 把更改的信息加载回 PDF
$ pdftk sample.pdf update_info info.txt output sample2.pdf

正文完
 0