首页 > 其他分享 >无涯教程-PDFBox - PDF合并(Merge)

无涯教程-PDFBox - PDF合并(Merge)

时间:2024-01-19 18:32:34浏览次数:28  
标签:PDFmerger 合并 无涯 Merge 文档 PDDocument PDF pdf

在上一章中,无涯教程已经看到了如何将给定的PDF文档拆分为多个文档。现在学习如何将多个PDF文档合并为一个文档。

合并多个PDF文档

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

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

步骤1 - 加载现有文档

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

File file=new File("path of the document") 
PDDocument document=PDDocument.load(file);

步骤2 - 实例化合并类

实例化合并实用程序类,如下所示。

PDFMergerUtility PDFmerger=new PDFMergerUtility(); 

步骤3 - 设置目标文件

如下所示,使用 setDestinationFileName()方法设置目标文件。

PDFmerger.setDestinationFileName("C:/PdfBox_Examples/data1/merged.pdf");

步骤4 - 设置源文件

如下所示,使用 addSource()方法设置源文件。

PDFmerger.addSource(file1);

步骤5 - 合并文档

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

PDFmerger.mergeDocuments();

步骤6 - 关闭文档

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

document.close();

完整示例

假设无涯教程在路径C:\ PdfBox_Examples\中有两个PDF文档-sample1.pdf和sample2.pdf,如下所示。

Image File.jpgContent 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 {

      //加载现有的PDF文档
      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);
         
      //实例化PDFmergerutility类
      PDFMergerUtility PDFmerger = new PDFMergerUtility();

      //设置目标文件
      PDFmerger.setDestinationFileName("C:/PdfBox_Examples/merged.pdf");

      //添加源文件
      PDFmerger.addSource(file1);
      PDFmerger.addSource(file2);

      //合并两份文件
      PDFmerger.mergeDocuments();

      System.out.println("Documents merged");
      //关闭文件
      doc1.close();
      doc2.close();
   }

}

使用以下命令从命令提示符处编译并执行保存的Java文件。

javac MergePDFs.java 
java MergePDFs 

执行后,上述程序会加密显示以下消息的给定PDF文档。

Documents merged

如果您验证给定的路径,则可以看到已创建名称为 merged.pdf 的PDF文档,该文档包含两个源文档的页面,如下所示。

Merged

参考链接

https://www.learnfk.com/pdfbox/pdfbox-merging-multiple-pdf-documents.html

标签:PDFmerger,合并,无涯,Merge,文档,PDDocument,PDF,pdf
From: https://blog.51cto.com/u_14033984/9333935

相关文章

  • 【专题】中国可持续金融发展洞察白皮书报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33318原文出处:拓端数据部落公众号自我国提出双碳目标以来,可持续金融市场发展迅速,呈现蓬勃发展的态势。多年来,致力于中国可持续金融市场的可持续金融战略咨询团队为金融机构提供了相关服务。阅读原文,获取专题报告合集全文,解锁文末358份金融行业相关......
  • Python实现PowerPoint(PPT/PPTX)到PDF的批量转换
    如果需要处理大量的PPT转PDF的工作,一个个打开并另存为PDF是非常费时的做法。我们可以利用Python编程语言的强大的工具来自动化这个过程,使得批量转换变得简单而高效。本文将介绍如何使用Python将PowerPoint演示文稿(PPT、PPTX等)转换为PDF文件,使演示内容能够在更多的设备上展示,且保持......
  • 无涯教程-PDFBox - 读取文本
    在上一章中,无涯教程了解了如何在现有的PDF文档中添加文本。在本章中将讨论如何从现有的PDF文档中读取文本。提取文本是PDF框库的主要功能之一。您可以使用PDFTextStripper类的getText()方法提取文本。此类从给定的PDF文档中提取所有文本。以下是从现有PDF文档提取文本的步骤......
  • 无涯教程-PDFBox - 环境设置
    安装PDFBox以下是下载ApachePDFBox的步骤-步骤1 - 通过单击以下链接打开ApachePDFBox的首页-https://pdfbox.apache.org/步骤2 - 上面的链接会将您定向到首页,如以下屏幕截图所示-步骤3 - 现在,单击上方屏幕快照中突出显示的下载链接。单击后,您将转到PDFBox的......
  • MySQL技术内幕:InnoDB存储引擎-姜承尧.pdf下载
    由资深mysql专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。内容深入,从源代码的角度深度解析了innodb的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握innodb,更重要的是,它能为你设计和管理高性能、高可用的数据库系统提供绝佳的指导。注重实战......
  • redis实战 pdf 下载
    《redis实战》深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用Redis来说不可多得的参考书籍。《redis实战》一共由三个部分组成。部分对Redis进行了介绍,说明了Redis的基本使用......
  • 无涯教程-Maven - 管理依赖项
    Maven的核心功能之一是依赖管理。一旦无涯教程要处理多模块项目(由数百个模块/子项目组成),管理依赖项将是一项艰巨的任务。Maven提供了高度的控制权来管理这种情况。依存关系当一个库(如A)依赖于另一个库(如B)时,通常是一种情况。如果另一个项目C要使用A,那么该项目也需要使用库B......
  • 《Java解惑》PDF
    本书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。本书趣味十足、寓教于......
  • 《微服务架构设计模式》PDF
    成功地开发基于微服务架构的应用软件,需要掌握一系列全新的架构思想和实践。在这本独特的书籍中,微服务架构的先驱、Java开发者社区的意见领袖ChrisRichardson收集、分类并解释了44个架构设计模式,这些模式用来解决诸如服务拆分、事务管理、查询和跨服务通信等难题。本书将教......
  • 无涯教程-Maven - 构建自动化
    BuildAutomation定义了一种方案,一旦项目构建成功完成,相关项目的构建过程就会开始,以确保相关项目稳定。考虑一个团队正在开发项目bus-core-api,另外两个项目app-web-ui和app-desktop-ui依赖。app-web-ui项目正在使用bus-core-api项目的1.0-SNAPSHOT。<projectxmlns......