pdftk与imagemagic命令
文章目录
pdftk
pdftk这个软件有 pdftk 、 pdftk pro 、 pdftk server 几个版本。实际上最基础的版本就是 server 版本,这个版本有一个 pdftk 的命令行工具,命令行工具包含完整的功能。 pdftk 和 pdftk pro 只是在这个命令行工具上做了一个图形界面, pdftk 是免费的, pro 这个版本的售价也只要 $3.99 ,如果嫌命令行麻烦可以直接买一个。
命令行工具的主要功能如下:
- 合并PDF文档或整理PDF页面扫描
- 将PDF页面拆分为新文档
- 旋转PDF文档或页面
- 根据需要解密输入(需要密码)
- 根据需要加密输出
- 使用 X/FDF 数据和/或拼合表单填写PDF表单
- 从PDF表单生成FDF数据模板
- 应用背景水印或前景印章
- 报告PDF指标,书签和元数据
- 添加/更新PDF书签或元数据
- 将文件附加到PDF页面或PDF文档
- 打开PDF附件包装
- 将PDF文档拼成单页
- 解压缩并重新压缩页面流
- 修复损坏的PDF(如果可能)
pdftk 的文档: PDFtk Server Manual
旋转 pdf
# 所有页面逆时针旋转90度
pdftk test.pdf rotate 1-endwest output test-out.pdf
# 所有页面顺时针旋转90度
pdftk test.pdf rotate 1-endeast output test-out.pdf
# 1-5页逆时针旋转90度(第一页就用1-1)
pdftk test.pdf rotate 1-5west output test-out.pdf
# 偶数页逆时针旋转90度
pdftk test.pdf rotate eveneast output test-out.pdf
# 奇数页逆时针旋转90度
pdftk test.pdf rotate oddeast output test-out.pdf
# 1-10页的偶数页逆时针旋转90度
pdftk test.pdf rotate 1-10eveneast output test-out.pdf
# 1、4、6页逆时针旋转90度
pdftk test.pdf cat 1east 2-3 4east 5 6east 7-end output test-out.pdf
合并 pdf
# 合并 in1.pdf 和 in2.pdf 到新 PDF 中:
pdftk in1.pdf in2.pdf cat output out1.pdf
# 或(使用句柄):
pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf
# 或(使用通配符):
pdftk *.pdf cat output combined.pdf
# 去除 in1.pdf 中的第 13 页,并创建 out1.pdf:
pdftk in.pdf cat 1-12 14-end output out1.pdf
# 或
pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf
# 扫描一本书,odd.pdf 为书的全部奇数页,even.pdf 为书的全部偶数页,下面的命令可以将两个 pdf 合并成页码正常的书:
# shuffle 的功能是 A 一页、B 一页的顺序合并的
pdftk A=odd.pdf B=even.pdf shuffle A B output collated.pdf
# 如果 odd.pdf 是逆序的:
pdftk A=odd.pdf B=even.pdf shuffle Aend-1 B output collated.pdf
# 合并两个文件,其中一个需要密码。对输出不加密:
pdftk A=secured.pdf 2.pdf input_pw A=foopass cat output 3.pdf
分割 pdf
# 将一个 PDF 文档分割成一页一个文档:
pdftk in.pdf burst
# 将一个 PDF 文档分割成一页一个文档,并加密,允许低质量的打印:
pdftk in.pdf burst owner_pw foopass allow DegradedPrinting
加密 pdf
# 加密 PDF("foopass"为加密的密码):
pdftk secured.pdf input_pw foopass output unsecured.pdf
# PDF 128 位加密,保留全部权限:
pdftk 1.pdf output 1.128.pdf owner_pw foopass
# PDF 128 位加密,保留全部权限,打开文档需输入密码 “baz”:
pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz
# PDF 128 位加密,打开文档需输入密码 “baz”,保留打印之外的其他权限:
pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing
# 对输出进行 40 位加密,撤销所有权限,设置 owner 密码为 foopass:
pdftk 1.pdf 2.pdf cat output 3.pdf encrypt_40bit owner_pw foopass
其他 pdf 操作
# 获取 PDF 问的元数据和书签信息:
pdftk in.pdf dump_data output report.txt
# 解压 PDF 页面流,然后就可以在文本编辑器中编辑 PDF 文件:
pdftk doc.pdf output doc.unc.pdf uncompress
# 压缩 PDF:
pdftk mydoc.pdf output mydoc.clear.pdf compress
# 修复破损的 PDF:
pdftk broken.pdf output fixed.pdf
imagemagick
我主要使用这个软件来转换 pdf 到图片格式,不过除了安装 imagemagick 以外还需要同时安装 ghostscript。
转换 pdf 到图片格式
magick convert -density 600 -trim test.pdf -quality 100 test.jpg
参考文档
文章作者 Evan Yu
上次更新 2022-04-13