這裡介紹如何在 Linux 系統上使用 PDFCrop 把 PDF 頁面周圍的白邊去除,讓原本的文字放大以利閱讀,列印時亦可節省紙張。

許多的 PDF 文件頁面周圍都會保留一大塊的空白區域(尤其是尚未正式發表的論文),拿到這種文件在閱讀時就比較不方便,因為空白區域佔去頁面不少空間,文字就顯得比較小,時常需要將 PDF 顯示比例放大,然後用滑鼠拉來拉去,這種文件若用印表機印下來的話,白邊太大也會浪費紙張。

PDF 頁面白邊過大

PDFCrop 是 Linux 系統上專門用來去除 PDF 白邊的小工具,它可以快速將 PDF 檔每一頁的白邊去除,使用方式簡單而且也很實用,以下是這個工具的使用方式。

安裝 PDFCrop

在 Debian 或 Ubuntu Linux 中,pdfcrop 包含於 texlive-extra-utils 這個套建中,在使用之前要先安裝此套件:

sudo apt install texlive-extra-utils

安裝好之後,就可以開始使用 PDFCrop 這個工具了。

去除 PDF 頁面白邊

PDFCrop 在預設的情況下,會自動判斷 PDF 頁面的白邊寬度,將空白區域去除,只留下有內容的區域:

# 自動將周圍白邊去除
pdfcrop input.pdf output.pdf

其中 input.pdf 原始的 PDF 檔案名稱,而 output.pdf 則是輸出的 PDF 檔案名稱。如果不指定輸出檔案名稱,則 PDFCrop 會自動以 輸入檔名-crop.pdf 這樣的命名方式儲存輸出的 PDF 檔案。

經過 PDFCrop 的處理後,PDF 的頁面會變成這樣:

去除白邊的 PDF 頁面

這樣完全沒有白邊的 PDF 檔案很適合用來校稿,文字比較大、列印也可以節省紙張。

PDFCrop 預設會非常精準的將所有空白切除,如果想要在周圍稍微保留一點空間,可以使用 --margins "左邊 上方 右邊 下方" 來指定留白的寬度(單位為 points),例如:

# 指定留白寬度為左邊 10、上方 20、右邊 10、下方 25
pdfcrop --margins "10 20 10 25" input.pdf output.pdf

這樣切出來的結果會像這樣:

保留些微空間的 PDF 頁面

若上下左右四的方向的留白寬度都相同,可以只指定單一數值,這樣 PDFCrop 就會將這個寬度套用至四的方向的留白寬度:

# 指定上下左右的留白寬度皆為 20
pdfcrop --margins 20 input.pdf output.pdf

周圍留白的寬度若指定為負值,就會往內切,將部份的頁面內容切除,例如:

# 往內切除部份的頁面內容
pdfcrop --margins "-30 -50 -30 -50" input.pdf output.pdf

結果會像這樣:

切除部份頁面內容

多 PDF 檔案

PDFCrop 一次只能處理一個 PDF 檔案,如果我們有大量的 PDF 檔案,都想要讓 PDFCrop 來切除白邊的話,可以自己撰寫簡單的 shell 指令稿,自動批次處理所有的 PDF 檔案,以下是一個自動處理目前目錄中所有 PDF 檔案的指令稿範例:

#!/bin/bash
# 自動切除所有 PDF 檔頁面的白邊
for FILE in ./*.pdf; do
  pdfcrop "${FILE}"
done