Pdfbox 简明教程

PDFBox - Merging Multiple PDF Documents

在前一章中,我们已经了解如何将给定的 PDF 文档拆分为多个文档。现在我们来了解如何合并多个 PDF 文档为一个文档。

Merging Multiple PDF Documents

借助名为 PDFMergerUtility class 的类,可以将多个 PDF 文档合并到一个 PDF 文档中,此类提供将两个或更多 PDF 文档合并到一个 PDF 文档的方法。

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

Step 1: Instantiating the PDFMergerUtility class

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

PDFMergerUtility PDFmerger = new PDFMergerUtility();

Step 2: Setting the destination file

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

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

Step 3: Setting the source files

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

File file = new File("path of the document")
PDFmerger.addSource(file);

Step 4: Merging the documents

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

PDFmerger.mergeDocuments();

Example

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

image file
content file

此示例演示如何合并上述 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");

      //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 文档,其中包含源文档的所有页面,如下所示。

merged