PDFBox合併多個PDF文檔
在前一章中,我們已經看到如何將給定的PDF文檔分成多個文檔。 現在讓我們學習如何將多個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
),如下所示 -