当前位置: 首页 > 文档资料 > PDFBox 中文文档 >

合并多个 PDF 文档(Merging Multiple PDF Documents)

优质
小牛编辑
131浏览
2023-12-01

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

合并多个PDF文档

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

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

第1步:加载现有PDF文档

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

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步:合并文档

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

PDFmerger.mergeDocuments();

第6步:关闭文档

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

document.close();

例子 (Example)

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

Image File.jpg内容File.jpg

此示例演示如何合并上述PDF文档。 在这里,我们将名为sample1.pdfsample2.pdf的PDF文档合并到单个PDF文档merged.pdf 。 将此代码保存在名为MergePDFs.java.的文件中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.<i>load</i>(file1);
      File file2 = new File("C:/PdfBox_Examples/sample2.pdf");
      PDDocument doc2 = PDDocument.<i>load</i>(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文档,其中包含两个源文档的页面,如下所示。

合并的