开发手册 欢迎您!
软件开发者资料库

PDFBox - 合并多个PDF文档

PDFBox合并多个PDF文档 - 从简单和简单的步骤学习PDFBox,从基本到高级概念,包括概述,环境,创建PDF文档,添加页面,加载文档,删除页面,文档属性,添加文本,添加多行,阅读文本,插入图像,加密PDF文档,PDF文档中的JavaScript,拆分PDF文档,合并多个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文档,其中包含两个源文档的页面,如下所示.

合并