
PDFBox - 合并多个 PDF 文档
在上一章中,我们了解了如何将给定的 PDF 文档拆分为多个文档。现在让我们学习如何将多个 PDF 文档合并为一个文档。
合并多个 PDF 文档
您可以使用名为PDFMergerUtility类的类将多个 PDF 文档合并为一个 PDF 文档,该类提供了将两个或多个 PDF 文档合并为一个 PDF 文档的方法。
以下是合并多个 PDF 文档的步骤。
步骤 1:实例化 PDFMergerUtility 类
实例化合并实用程序类,如下所示。
PDFMergerUtility PDFmerger = new PDFMergerUtility();
第二步:设置目标文件
使用 setDestinationFileName() 方法设置目标文件,如下所示。
PDFmerger.setDestinationFileName("C:/PdfBox_Examples/data1/merged.pdf");
第三步:设置源文件
使用 addSource() 方法设置源文件,如下所示。
File file = new File("path of the document") PDFmerger.addSource(file);
步骤 4:合并文档
使用 PDFmerger 类的 mergeDocuments() 方法合并文档,如下所示。
PDFmerger.mergeDocuments();
例子
假设我们有两个 PDF 文档——sample1.pdf和sample2.pdf,位于路径C:\PdfBox_Examples\中,如下所示。


本例演示如何合并上述PDF文档。在这里,我们将把名为sample1.pdf和sample2.pdf的PDF文档合并到一个PDF文档merged.pdf中。将此代码保存在名为 MergePDFs.java 的文件中。
import org.apache.pdfbox.multipdf.PDFMergerUtility; import java.io.File; import java.io.IOException; public class MergePDFs { public static void main(String[] args) throws IOException { File file1 = new File("C:\\EXAMPLES\\Demo1.pdf"); File file2 = new File("C:\\EXAMPLES\\Demo2.pdf"); //Instantiating PDFMergerUtility class PDFMergerUtility PDFmerger = new PDFMergerUtility(); //Setting the destination file PDFmerger.setDestinationFileName("C:\\Examples\\merged.pdf"); //adding the source files PDFmerger.addSource(file1); PDFmerger.addSource(file2); //Merging the two documents PDFmerger.mergeDocuments(); System.out.println("Documents merged"); } }
使用以下命令从命令提示符编译并执行保存的 Java 文件。
javac MergePDFs.java java MergePDFs
执行后,上述程序会对给定的 PDF 文档进行加密,并显示以下消息。
Documents merged
如果验证给定的路径,您可以观察到创建了一个名为merged.pdf 的PDF 文档,其中包含两个源文档的页面,如下所示。
