在 Linux 命令行上編輯 PDF
使用 qpdf 和 poppler-utils 來分割、修改和合并 PDF 文件。
你收到的許多文件都是 PDF 格式的。有時這些 PDF 需要進(jìn)行處理。例如,可能需要刪除或添加頁面,或者你可能需要簽署或修改一個特定的頁面。
不管是好是壞,這就是我們所處的現(xiàn)實。
有一些花哨的圖形用戶界面工具可以讓你編輯 PDF,但我一直對命令行感到最舒服。在這個任務(wù)的許多命令行工具中,當(dāng)我想修改一個 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
默認(rèn)的做法。--empty
選項告訴 qpdf 從一個空文件開始。結(jié)尾處的兩個破折號(--
)表示沒有更多的文件需要處理。這是一個參數(shù)反映內(nèi)部模型的例子,而不是人們使用它的目的,但至少它能運行并產(chǎn)生有效的 PDF!
poppler-utils
這個軟件包包含幾個工具,但我用得最多的是 pdftoppm,它把 PDF 文件轉(zhuǎn)換為可移植的像素圖(ppm
)文件。我通常在用 qpdf
分割頁面后使用它,并需要將特定頁面轉(zhuǎn)換為我可以修改的圖像。ppm
格式并不為人所知,但重要的是大多數(shù)圖像處理方法,包括 ImageMagick、Pillow 等,都可以使用它。這些工具中的大多數(shù)也可以將文件保存為 PDF。
工作流程
我通常的工作流程是:
- 使用
qpdf
將 PDF 分割成若干頁。 - 使用
poppler-utils
將需要修改的頁面轉(zhuǎn)換為圖像。 - 根據(jù)需要修改圖像,并將其保存為 PDF。
- 使用
qpdf
將各頁合并成一個 PDF。
其他工具
有許多很好的開源命令來處理 PDF,無論你是 縮小它們、從文本文件創(chuàng)建它們、轉(zhuǎn)換文檔,還是盡量 完全避免它們。