如何在 Linux 命令列操作 PDF

2019-08-15 11:01:00

pdftk 命令提供了許多處理 PDF 的命令列操作,包括合併頁面、加密檔案、新增水印、壓縮檔案,甚至還有修復 PDF。

雖然 PDF 通常被認為是相當穩定的檔案,但在 Linux 和其他系統上你可以做很多處理。包括合併、拆分、旋轉、拆分成單頁、加密和解密、新增水印、壓縮和解壓縮,甚至還有修復。 pdftk 命令能執行所有甚至更多操作。

“pdftk” 代表 “PDF 工具包”(PDF tool kit),這個命令非常易於使用,並且可以很好地操作 PDF。例如,要將獨立的檔案合併成一個檔案,你可以使用以下命令:

$ pdftk pg1.pdf pg2.pdf pg3.pdf pg4.pdf pg5.pdf cat output OneDoc.pdf

OneDoc.pdf 將包含上面顯示的所有五個文件,命令將在幾秒鐘內執行完畢。請注意,cat 選項表示將檔案連線在一起,output 選項指定新檔案的名稱。

你還可以從 PDF 中提取選定頁面來建立單獨的 PDF 檔案。例如,如果要建立僅包含上面建立的文件的第 1、2、3 和 5 頁的新 PDF,那麼可以執行以下操作:

$ pdftk OneDoc.pdf cat 1-3 5 output 4pgs.pdf

另外,如果你想要第 1、3、4 和 5 頁(總計 5 頁),我們可以使用以下命令:

$ pdftk OneDoc.pdf cat 1 3-end output 4pgs.pdf

你可以選擇單獨頁面或者頁面範圍,如上例所示。

下一個命令將從一個包含奇數頁(1、3 等)的檔案和一個包含偶數頁(2、4 等)的檔案建立一個整合文件:

$ pdftk A=odd.pdf B=even.pdf shuffle A B output collated.pdf

請注意,shuffle 選項使得能夠完成整合,並指示文件的使用順序。另請注意:雖然上面建議用的是奇數/偶數頁,但你不限於僅使用兩個檔案。

如果要建立只能由知道密碼的收件人開啟的加密 PDF,可以使用如下命令:

$ pdftk prep.pdf output report.pdf user_pw AsK4n0thingGeTn0thing

選項提供 40(encrypt_40bit)和 128(encrypt_128bit)位加密。預設情況下使用 128 位加密。

你還可以使用 burst 選項將 PDF 檔案分成單個頁面:

$ pdftk allpgs.pdf burst$ ls -ltr *.pdf | tail -5-rw-rw-r-- 1 shs shs   22933 Aug  8 08:18 pg_0001.pdf-rw-rw-r-- 1 shs shs   23773 Aug  8 08:18 pg_0002.pdf-rw-rw-r-- 1 shs shs   23260 Aug  8 08:18 pg_0003.pdf-rw-rw-r-- 1 shs shs   23435 Aug  8 08:18 pg_0004.pdf-rw-rw-r-- 1 shs shs   23136 Aug  8 08:18 pg_0005.pdf

pdftk 命令使得合併、拆分、重建、加密 PDF 檔案非常容易。要了解更多選項,請檢視 PDF 實驗室中的範例頁面。