PDFBox - 合并多个 PDF 文档

在上一章中,我们了解了如何将给定的 PDF 文档拆分为多个文档。现在让我们学习如何将多个 PDF 文档合并为一个文档。

合并多个 PDF 文档

您可以使用名为 PDFMergerUtility 的类将多个 PDF 文档合并为一个 PDF 文档,此类提供将两个或多个 PDF 文档合并为一个 PDF 文档的方法。

以下是合并多个 PDF 文档的步骤。

步骤 1:实例化 PDFMergerUtility 类

实例化合并实用程序类,如下所示。

PDFMergerUtility PDFmerger = new PDFMergerUtility();

步骤 2:设置目标文件

使用 setDestinationFileName() 方法设置目标文件,如下所示。

PDFmerger.setDestinationFileName("C:/PdfBox_Examples/data1/merged.pdf");

步骤 3:设置源文件

使用 addSource() 方法设置源文件,如下所示。

File file = new File("文档路径")
PDFmerger.addSource(file);

步骤 4:合并文档

使用 PDFmerger 类的 mergeDocuments() 方法合并文档,如下所示。

PDFmerger.mergeDocuments();

示例

假设我们有两个 PDF 文档 - sample1.pdfsample2.pdf,位于路径 C:\PdfBox_Examples\ 中,如下所示。

Image File.jpg Content File.jpg

此示例演示如何合并上述 PDF 文档。在这里,我们将名为 sample1.pdfsample2.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");
        
        //实例化 PDFMergerUtility 类
        PDFMergerUtility PDFmerger = new PDFMergerUtility();
        
        //设置目标文件
        PDFmerger.setDestinationFileName("C:\Examples\merged.pdf");
        
        //添加源文件
        PDFmerger.addSource(file1);
        PDFmerger.addSource(file2);
        
        //合并两个文档
        PDFmerger.mergeDocuments();
        System.out.println("文档已合并");
   }
}

使用以下命令从命令提示符编译并执行已保存的 Java 文件。

javac MergePDFs.java
java MergePDFs

执行后,上述程序将加密给定的 PDF 文档并显示以下消息。

Documents merged

如果您验证给定的路径,您可以观察到创建了一个名为merged.pdf的PDF文档,其中包含两个源文档的页面,如下所示。

Merged