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.pdfsample2.pdf,位于路径C:\PdfBox_Examples\中,如下所示。

图片文件.jpg 内容文件.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");    
		
      //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 文档,其中包含两个源文档的页面,如下所示。

合并