在上一章中,我们已经了解了如何将给定的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 \ 中,如下所示.
此示例演示如何合并上述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文档,其中包含两个源文档的页面,如下所示.