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























