在 Linux 命令行中编辑 PDF

使用 qpdf 和 poppler-utils 来拆分、修改和合并 PDF 文件。
32 位读者喜欢这篇文章。
Text editor on a browser, in blue

您收到的许多文档都是 PDF 格式。有时需要操作这些 PDF。例如,可能需要删除或添加页面,或者您可能需要签名或更改特定页面。

无论好坏,这就是我们都生活的现实。

有一些花哨的图形用户界面工具可以让你编辑 PDF,但我一直最习惯命令行。对于此任务的许多命令行工具,当我想要修改 PDF 时,我使用的工具是 qpdfpoppler-utils

安装

在 Linux 上,您可以使用包管理器(例如 aptdnf)安装 qpdfpoppler-utils。 例如,在 Fedora 上

$ sudo dnf install qpdf poppler-utils

在 macOS 上,使用 MacPortsHomebrew。 在 Windows 上,使用 Chocolatey

qpdf

qpdf 命令可以做很多事情,但我主要用它来

  1. 将 PDF 拆分为单独的页面
  2. 将 PDF 连接或合并为一个文件

将 PDF 拆分为单独的页面

qpdf --split-pages original.pdf split.pdf

这将生成类似 split-01.pdfsplit-02.pdf 等的文件。每个文件都是一个单页 PDF 文件。

连接文件有点微妙

qpdf --empty concatenated.pdf --pages split-*.pdf --

这是 qpdf 默认执行的操作。 --empty 选项告诉 qpdf 从一个空文件开始。 末尾的两个短划线 (--) 表示不再有要处理的文件。 在这种情况下,参数反映的是内部模型,而不是人们使用它的方式,但至少它可以运行并生成有效的 PDF!

poppler-utils

这个包包含几个实用程序,但我最常用的是 pdftoppm,它将 PDF 文件转换为可移植像素图 (ppm) 图像文件。 我通常在使用 qpdf 拆分页面后使用它,并且需要将特定页面转换为我可以修改的图像。 ppm 格式不是很出名,但重要的是,大多数图像处理方法,包括 ImageMagickPillow 和许多其他选项,都可以使用它。 这些工具中的大多数也可以将文件保存回 PDF。

工作流程

我通常的工作流程是

  • 使用 qpdf 将 PDF 拆分为页面。
  • 使用 poppler-utils 将需要更改的页面转换为图像。
  • 根据需要修改图像并将它们保存为 PDF。
  • 使用 qpdf 将页面连接回一个 PDF。

其他工具

有很多很棒的开源命令可以处理 PDF,无论你是缩小它们从文本文件创建它们转换文档,还是尽力完全避免它们。 你最喜欢的开源 PDF 实用程序是什么? 请在评论中分享它们。

接下来阅读
标签
Moshe sitting down, head slightly to the side. His t-shirt has Guardians of the Galaxy silhoutes against a background of sound visualization bars.
自 1998 年以来,Moshe 一直参与 Linux 社区,帮助举办 Linux“安装派对”。 自 1999 年以来,他一直在编写 Python 程序,并为核心 Python 解释器做出了贡献。 Moshe 自这些术语出现之前就一直是 DevOps/SRE,非常关心软件可靠性、构建可重复性等问题。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.