在 Linux 命令行上编辑 PDF
| 2021-07-15 09:32:55 评论: 1
使用 qpdf 和 poppler-utils 来分割、修改和合并 PDF 文件。
你收到的许多文件都是 PDF 格式的。有时这些 PDF 需要进行处理。例如,可能需要删除或添加页面,或者你可能需要签署或修改一个特定的页面。
不管是好是坏,这就是我们所处的现实。
有一些花哨的图形用户界面工具可以让你编辑 PDF,但我一直对命令行感到最舒服。在这个任务的许多命令行工具中,当我想修改一个 PDF 时,我使用的是 qpdf
和 poppler-utils
。
安装
在 Linux 上,你可以用你的包管理器(如 apt
或 dnf
)来安装 qpdf
和 poppler-utils
。比如在 Fedora 上:
$ sudo dnf install qpdf poppler-utils
在 macOS 上,使用 MacPorts 或 Homebrew。在 Windows 上,使用 Chocolatey。
qpdf
qpdf
命令可以做很多事情,但我主要用它来:
- 将一个 PDF 分割成不同的页面
- 将多个 PDF 文件合并成一个文件
要将一个 PDF 分割成不同的页面:
qpdf --split-pages original.pdf split.pdf
这就会生成像 split-01.pdf
、split-02.pdf
这样的文件。每个文件都是一个单页的 PDF 文件。
合并文件比较微妙:
qpdf --empty concatenated.pdf --pages split-*.pdf --
这就是 qpdf
默认的做法。--empty
选项告诉 qpdf 从一个空文件开始。结尾处的两个破折号(--
)表示没有更多的文件需要处理。这是一个参数反映内部模型的例子,而不是人们使用它的目的,但至少它能运行并产生有效的 PDF!
poppler-utils
这个软件包包含几个工具,但我用得最多的是 pdftoppm,它把 PDF 文件转换为可移植的像素图(ppm
)文件。我通常在用 qpdf
分割页面后使用它,并需要将特定页面转换为我可以修改的图像。ppm
格式并不为人所知,但重要的是大多数图像处理方法,包括 ImageMagick、Pillow 等,都可以使用它。这些工具中的大多数也可以将文件保存为 PDF。
工作流程
我通常的工作流程是:
- 使用
qpdf
将 PDF 分割成若干页。 - 使用
poppler-utils
将需要修改的页面转换为图像。 - 根据需要修改图像,并将其保存为 PDF。
- 使用
qpdf
将各页合并成一个 PDF。
其他工具
有许多很好的开源命令来处理 PDF,无论你是 缩小它们、从文本文件创建它们、转换文档,还是尽量 完全避免它们。你最喜欢的开源 PDF 工具是什么?请在评论中分享它们。