將多個 PDF 檔案合併為一個(以矩陣形式排列)

將多個 PDF 檔案合併為一個(以矩陣形式排列)

擁有一組 PDF 文件,可以說:in-01.pdfin-02.pdfin-03.pdf、 ... 我想將它們全部組合成一個文件,形成一個M x N矩陣。

該命令montage允許這樣做(M並且N應該是整數):

montage -mode concatenate -tile NxM in-*.pdf out.pdf

問題是產生的 PDF 的大小很大,而我希望它(可能只是)比所有輸入 PDF 大小的總和大一點。我認為montage首先將輸入 PDF 轉換為圖像,然後從這些圖像中創建輸出 PDF(例如,原始 PDF 中的文本不會顯示為輸出 PDF 中的文本,而是顯示為質量較低且較大的圖像)尺寸)。

我想應該有一種方法可以做到這一點(例如,LATEX 允許將 PDF 圖像插入到另一個 PDF 中,而無需先將其轉換為圖像)。

我正在尋找在 GNU/Linux 系統下使用免費軟體工具的命令列替代方案。

筆記:我們可以假設這些 PDF 檔案具有完全相同的尺寸(寬度和高度)。它們是自動生成的 PDF 圖像,通常由繪圖/圖表(簡單形狀、線條和矩形)和一些文字(標題、標籤...)組成。

答案1

您可以使用以下實用pdfnup程式pdfjam套房。

pdfnup in.pdf --nup 3x3

應該輸出文件in-nup.pdf與頁面在.pdf從原始 pdf 開始,以 3x3 矩陣排列在一系列頁面中。

您應該將所有 pdf 檔案合併為一個,並且您還必須指定輸出檔案的紙張尺寸,請參閱 pdfjam 文件以了解詳細資訊。

答案2

您在此嘗試模擬的佈局稱為N 向上。有幾種方法可以做到這一點。正如 xae 的評論中所示,您可以使用 pdfjam 來完成此操作。請參閱我的評論。例如:

pdfjam --suffix nup --nup 2x2 input.pdf

將產生一個 4-up、2x2 矩陣。或者,您可以傳遞--landscape選項以將矩陣定向為從橫向而不是縱向查看。

你也可以透過後記來做到這一點

pdf2ps input.pdf input.ps
psnup -4 input.ps output.ps
ps2pdf output.ps output.pdf

其中-4表示 4-up (2x2)

如果您直接嘗試在 Linux 上列印此 pdf 文件,我認為 CUPS 用戶端包含一個lpr帶有 N-up 選項的 Berkley LPR 列印後台處理程序 ( ) 版本。您可以使用該選項

lpr -o number-up=4 input.pdf

或將其設為預設值

lpoptions -p QueueName -o number-up=4

相關內容