有时需要将一个PDF拆分为多个PDF文件时,可能会有多种情况。例如,可能必须分割包含发票/收据的PDF的每一页,并将它们另存为单独的文件。另一方面,可能要从PDF文件中拆分页面的特定集合。为了解决上述情况,本文介绍了如何使用Java通过编程将PDF文件拆分为多个PDF。

  • 使用Java按每一页拆分PDF文件
  • 使用Java按页面集合拆分PDF文件

为了分割PDF文件,我们将利用Aspose.PDF for Java的PDF操作功能。该API使您可以在几个步骤中执行PDF拆分操作。感兴趣的朋友可点击下方按钮下载最新版。(点击下载)


使用Java分割PDF文件

PDF拆分标准可能会根据要求在不同的方案中有所不同。首先,让我们看看如何按页面拆分PDF文件并将每页另存为单独的PDF。以下是执行此操作的步骤。

  • 使用Document 类加载PDF文档 。
  • 使用Document.getPages() 方法循环浏览页面。
  • 将每个页面访问到Page 对象中。
  • 在每次迭代中,创建一个新 Document,将当前页面添加到该文档中,然后使用Document.save(String) 方法将其另存为PDF文件 。

以下代码示例显示了如何使用Java分割PDF文件。

// Open document
Document pdfDocument = new Document("input.pdf");// For page counter
int pageCount = 1;// Loop through all the pages
for (Page pdfPage : pdfDocument.getPages()) {// Create a new documentDocument newDocument = new Document();// Add page to the documentnewDocument.getPages().add(pdfPage);// Save as PDFnewDocument.save("page_" + pageCount + "_out" + ".pdf");pageCount++;
}

使用Java按页面集合拆分PDF文件

为了演示,让我们看一下另一个PDF拆分方案。在此示例中,我们将基于偶数和奇数页码拆分PDF。以下是执行此操作的步骤。

  • 使用Document 类加载PDF文档 。
  • 使用Document.getPages() 方法循环浏览页面。
  • 将偶数页和奇数页分成ArrayList对象。
  • 创建一个新的 Document对象,将页面添加到文档中,然后使用Document.save(String) 方法将其另存为PDF文件 。

以下代码示例显示了如何使用Java拆分PDF文件中的偶数页和奇数页。

// Open document
Document pdfDocument = new Document("input.pdf");// Create array lists for even and odd pages
ListevenPages = new ArrayList();
ListoddPages = new ArrayList();// Loop through all the pages
for (Page pdfPage : pdfDocument.getPages())
{if(pdfPage.getNumber()%2==0){evenPages.add(pdfPage);}else{oddPages.add(pdfPage);}
}
// Save even pages as PDF
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");// Save odd pages as PDF
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。

代码示例:使用Java以编程方式拆分PDF文件相关推荐

  1. java解析odt,如何用java以编程方式创建odt文件?

    How can I create an odt (LibreOffice/OpenOffice Writer) file with Java programmatically? A "hel ...

  2. 超硬核!!!一篇文章搞定TCP、UDP、Socket、HTTP(详细网络编程内容+现实解释三次握手四次挥手+代码示例)【网络编程 1】

    TCP.UDP.Socket 一天面试的经验: 什么是网络编程 网络编程中两个主要的问题 网络协议是什么 为什么要对网络协议分层 计算机网络体系结构 1 TCP / UDP 1.1 什么是TCP/IP ...

  3. Java 泛型(generics)详解及代码示例、Java 类型通配符详解及代码示例

    Java 泛型(generics)详解及代码示例.Java 类型通配符详解及代码示例 - 概念 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制 ...

  4. 如何使用C#以编程方式将MPP文件转换为PDF?

    Microsoft Project文件用于组织和管理项目中的不同任务.您可以使用C#以编程方式将MPP文件转换为PDF.本文将介绍以下内容: 使用C#以编程方式将MPP转换为PDF 在C#中将MPP转 ...

  5. java 网页保存为pdf文件怎么打开方式_js相关:JavaScript+Java实现HTML页面转为PDF文件保存的方法...

    js相关:JavaScript+Java实现HTML页面转为PDF文件保存的方法 发布于 2020-8-12| 复制链接 借助iText这个Java库,我们可以将HTML文件保存为图片文件进而转换成P ...

  6. pdf按照页码分割 java_java使用itext按页码拆分pdf文件详解

    java使用itext按页码拆分pdf文件,代码实现如下: /** * @author viralpatel.net * * @param inputStream Input PDF file * @ ...

  7. pdf按照页码分割 java_java使用itext按页码拆分pdf文件

    java使用itext按页码拆分pdf文件,代码实现如下: /** * @author viralpatel.net * * @param inputStream Input PDF file * @ ...

  8. java从远程服务器获取PDF文件并后台打印(使用pdfFox)

    一.java原生方式打印PDF文件 正反面都打印,还未研究出只打印单面的方法,待解决 public static void printFile(String path) throws Exceptio ...

  9. java 实现在线编辑本地pdf文件内容

    功能描述:将pdf文件上传到服务器,然后服务器读取上传的pdf文件内容,然后渲染到在线富文本中,再然后在富文本中修改完毕点击保存,再将上传的pdf文件内容修改为在线富文本中的内容 1.实现将PDF文件 ...

最新文章

  1. c语言logout_C++ 格式化日志输出实现代码
  2. 激光雷达:从光电技术角度看自动驾驶
  3. Xamarin Forms启动自带模拟器缓慢
  4. Pytest入门【2】
  5. 人工玻璃体-技术指标汇总(持续更新中)
  6. Calibration校准halcon算子,持续更新
  7. 前端学习(1117):严格模式的变化
  8. 优秀的gdb图形化前端调试器
  9. Android 渗透测试学习手册 翻译完成!
  10. 【原】unity3D之Draw Call
  11. Hibernate反射DAO模式
  12. 【统计信号处理检测理论:二维CFAR】
  13. 状态机工作流.实列.报销审批流程(二)
  14. 如何制作精美的PPT动画?快速学会这3步,开场效果简洁又生动!
  15. 机器人操作系统ROS/ROS2(1)
  16. 使用三台路由器实现wan与vlan通信
  17. upnp 二级路由_下载宝作为二级路由折腾记-小白篇 - Padavan - 恩山无线论坛 - Powered by Discuz!...
  18. 大数据集群扩容机架分配
  19. JS div跟随鼠标移动
  20. 最适合家用的洗地机哪个牌子好?最好用的洗地机推荐

热门文章

  1. 浸没式冷却-散热技术新趋势,一起学Flotherm电子元器件散热仿真
  2. 蒸汽平台进dota2显示连接不上服务器,《Dota2》蒸汽平台接入公告 改变登陆方式,不影响道具...
  3. shell中的declare命令
  4. C#双行计算器和单行计算器
  5. Microsoft.Office.Core 引用以及 Microsoft.Office.Core.MsoTriState 的问题
  6. Google Earth Engine(GEE)——MODIS数据利用地形提取水体面积(以青海省为例)
  7. wxPython+Vuejs+Element-UI实现记事本的思路及解决方案
  8. 钱颖一:理解经济学原理
  9. echart水滴_漂亮得不像实力派:ECharts 水球图教程
  10. move_base源码解析