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("path of the document")
PDFmerger.addSource(file);

步骤4:合并文档

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

PDFmerger.mergeDocuments();

示例

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

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");    
		
      //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
广告