PDFBox - 合并多个PDF文档

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

合并多个PDF文档

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

以下是步骤:合并多个PDF文档.

步骤1:加载现有PDF文档

使用静态方法加载现有PDF文档 load() PDDocument 类.此方法接受文件对象作为参数,因为这是一个静态方法,您可以使用类名调用它,如下所示.

File file = new File("path of the document") 
PDDocument document = PDDocument.load(file);

步骤2:实例化PDFMergerUtility类

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

PDFMergerUtility PDFmerger = new PDFMergerUtility();

步骤3:设置目标文件

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

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

步骤4:设置源文件

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

PDFmerger.addSource(file1);

步骤5:合并文档

使用 mergeDocuments() Mergr文档 PDFmerger 类的方法如下所示.

PDFmerger.mergeDocuments();

步骤6:关闭文档

最后使用关闭()关闭文档 PDDocument 类的方法如下所示.

document.close();

示例

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

Image File.jpg Content File.jpg

此示例演示如何合并上述PDF文档.在这里,我们将名为 sample1.pdf sample2.pdf 的PDF文档合并到单个PDF文档 merged.pdf 中.将此代码保存在名为 MergePDFs.java的文件中.

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("C:/PdfBox_Examples/sample1.pdf");
      PDDocument doc1 = PDDocument.load(file1);
       
      File file2 = new File("C:/PdfBox_Examples/sample2.pdf");
      PDDocument doc2 = PDDocument.load(file2);
         
      //Instantiating PDFMergerUtility class
      PDFMergerUtility PDFmerger = new PDFMergerUtility();

      //Setting the destination file
      PDFmerger.setDestinationFileName("C:/PdfBox_Examples/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();
   }

}

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

javac MergePDFs.java 
java MergePDFs

执行时,上述程序对显示以下消息的给定PDF文档进行加密.

Documents merged

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

合并