在前一章中,我們已經看到如何將給定的PDF文件分成多個文件。 現在讓我們學習如何將多個PDF文件合併為一個文件。
使用PDFMergerUtility
類的類將多個PDF文件合併到單個PDF文件中,該類提供了將兩個或多個PDF文件合併到單個PDF文件中的方法。
以下是合併多個PDF文件的步驟。
第1步:載入現有的PDF文件
使用PDDocument
類的靜態方法load()
載入現有的PDF文件。 此方法接受一個檔案物件作為引數,因為這是一個靜態方法,可以使用類名稱呼叫它,如下所示。
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
第2步:範例化PDFMergerUtility類
如下所示範例化合併實用程式類。
PDFMergerUtility PDFmerger = new PDFMergerUtility();
第3步:設定目標檔案
使用setDestinationFileName()
方法設定目標檔案,如下所示。
PDFmerger.setDestinationFileName("D:/PdfBoxExamples/docs/merged.pdf");
第4步:設定原始檔
使用addSource()
方法設定原始檔,如下所示。
PDFmerger.addSource(file1);
第5步:合併文件
使用PDFmerger
類的mergeDocuments()
方法合併文件,如下所示。
PDFmerger.mergeDocuments();
第6步:關閉文件
最後使用PDDocument
類的close()
方法關閉文件,如下所示。
document.close();
假設,在目錄:F:\worksp\pdfbox
中有兩個PDF文件 - sample1.pdf
和sample2.pdf
,如下所示。
第一個PDF檔案(sample1.pdf
):
第二個PDF檔案(sample2.pdf
):
本範例演示如何合併上述PDF文件。 在這裡,我們將把sample1.pdf
和sample2.pdf
這兩個PDF文件合併到一個PDF文件 - merged.pdf
中。 將此程式碼儲存在名稱為MergePDFs.java
的檔案中。
package com.yiibai;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.File;
import java.io.IOException;
public class MergePDFs {
public static void main(String[] args) throws IOException {
//Loading an existing PDF document
File file1 = new File("F:/worksp/pdfbox/sample1.pdf");
PDDocument doc1 = PDDocument.load(file1);
File file2 = new File("F:/worksp/pdfbox/sample2.pdf");
PDDocument doc2 = PDDocument.load(file2);
//Instantiating PDFMergerUtility class
PDFMergerUtility PDFmerger = new PDFMergerUtility();
//Setting the destination file
PDFmerger.setDestinationFileName("F:/worksp/pdfbox/merged.pdf");
//adding the source files
PDFmerger.addSource(file1);
PDFmerger.addSource(file2);
//Merging the two documents
PDFmerger.mergeDocuments();
System.out.println("Documents merged");
//Closing the documents
doc1.close();
doc2.close();
}
}
執行時,上述程式會顯示以下訊息 -
Documents merged
開啟新合成的文件(merged.pdf
),如下所示 -