本篇文章帮大家学习PDFBox分割PDF文档,包含了PDFBox分割PDF文档使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

在前一章中,我们已经看到了如何将javascript添加到PDF文档。 现在来学习如何将给定的PDF文档分成多个文档。

分割PDF文档中的页面

可以使用Splitter类将给定的PDF文档分割为多个PDF文档。 该类用于将给定的PDF文档分成几个其他文档。

以下是拆分现有PDF文档的步骤

第1步:加载现有的PDF文档

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

File file = new File("path of the document")

PDDocument document = PDDocument.load(file);

第2步:实例化Splitter类

这个Splitter类包含了分割给定的PDF文档的方法,因此实例化这个类,如下所示。

Splitter splitter = new Splitter();

第3步:分割PDF文档

使用Splitter类的Split()方法来分割给定的文档。 该方法接受PDDocument类的一个对象作为参数。

List Pages = splitter.split(document);

split()方法将给定文档的每个页面分割为单独的文档,并以列表的形式返回所有这些文档。

第4步:创建一个迭代器对象

要遍历文档列表,需要获取上述步骤中获取的列表的迭代器对象,使用listIterator()方法获取列表的迭代器对象,如下所示。

Iterator iterator = Pages.listIterator();

第5步:关闭文档

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

document.close();

示例

假设在目录:F:\worksp\pdfbox 中有一个名称为mypdf.pdf的PDF文档,并且该文档包含两个页面 - 一个页面包含图像,另一个页面包含文本,如下所示。

这个例子演示了如何分割上面提到的PDF文档。 在这里,将把名称为mypdf.pdf的PDF文档分成两个不同的文档:sample1.pdf和sample2.pdf。 将此代码保存在名为SplitPages.java的文件中。

package com.yiibai;

import org.apache.pdfbox.multipdf.Splitter;

import org.apache.pdfbox.pdmodel.PDDocument;

import java.io.File;

import java.io.IOException;

import java.util.List;

import java.util.Iterator;

public class SplitPages {

public static void main(String[] args) throws IOException {

//Loading an existing PDF document

File file = new File("F:/worksp/pdfbox/mypdf.pdf");

PDDocument document = PDDocument.load(file);

//Instantiating Splitter class

Splitter splitter = new Splitter();

//splitting the pages of a PDF document

List Pages = splitter.split(document);

//Creating an iterator

Iterator iterator = Pages.listIterator();

//Saving each page as an individual document

int i = 1;

while(iterator.hasNext()) {

PDDocument pd = iterator.next();

pd.save("F:/worksp/pdfbox/sample"+ i +".pdf");

i = i + 1;

}

System.out.println("Multiple PDF’s created");

document.close();

}

}

执行上面示例代码,得到以下结果 -

Multiple PDF’s created

生成的两个文件,打开效果如下 -

第二个PDF文件:

java对pdf分割_PDFBox分割PDF文档相关推荐

  1. java对pdf分割_Java如何使用Java将PDF分割成多个文档?

    在Java编程中,如何使用Java将PDF分割成多个文档? 以下是使用Java将PDF文档页面分割成多个文档的示例程序. package com.yiibai; import org.apache.p ...

  2. 读取DOC、DOCX、 XLS 、XLSX 、PDF 、PPTX 、TXT文档内容

    读取DOC.DOCX. XLS .XLSX .PDF .PPTX .TXT文档内容 POM 依赖 <!-- https://mvnrepository.com/artifact/org.apac ...

  3. bin文件怎么转换成文本文档_怎么把pdf文件转换成word文档?这样转很简单

    在日常的学习.工作生活中,小伙伴们总少不了要对文件格式进行转换操作,例如把pdf文件转换成word文档.对于职场老手来说,这当然不算一个难度操作,甚至还很简单.但对于职场新人而言,找不对方法,可能操作 ...

  4. pdf电子书转换成txt文档

    pdf电子书转换成txt文档 我们在收到用户发来的PDF格式的文件合同时,为了能够将里面的内容重新进行编辑,很多时候需要将PDF格式的电子书转换成TXT,有什么好的方法可以实现PDF转TXT. 在没有 ...

  5. 怎么把pdf格式转成word文档?如何将 PDF 转换为 Word

    怎么把pdf格式转成word文档?PDF是运用得很广泛地的办公文档,但是不能编辑,为了方便编辑,需要将PDF转换为word,那么,如何将 PDF 转换为 Word,下面,易我小编会讲解实用的pdf转w ...

  6. ​PDF如何转换成Word文档?分享两种好用的转换方法

    怎么把PDF文件转换成Word文档呢?大家在工作中相信都会使用这两种格式的 文件,对于这两种格式的文件优劣处大家也很清楚,一个适合用来发送文件,一个适合用来编辑文件,如果我们接收到一份PDF文件,想要 ...

  7. 怎么批量删除 Word、PDF、PPT 以及 Excel 文档中的空白页?

    概要:「我的ABC软件工具箱」提供了删除空白页的功能,轻轻松松就可以实现批量删除文档中的空白页.目前支持 Word.PDF.PPT 以及 Excel 等格式文件文件.操作非常的方便,处理也非常高效! ...

  8. 解决Adobe Arcobat Reader DC打开PDF提示:正在准备文档以供阅读,请稍后

    解决Adobe Arcobat Reader DC打开PDF提示:正在准备文档以供阅读,请稍后 解决Adobe Arcobat Reader DC打开PDF提示:正在准备文档以供阅读,请稍后 问题描述 ...

  9. pdf.js在线查看(文档流/地址)

    pdf.js在线查看(文档流/地址) 工作中需要在移动端在线查看pdf文件,但由于pdf文件存放在第三方的服务器中,由于各种原因无法直接返回pdf文件地址给前台,后来确定返给前台是一个base64的流 ...

最新文章

  1. 单片机如何使用?51单片机C语言编程实例有哪些?
  2. 危险工种 机器人逃生记_袋料自动搬运机器人为什么能取代人工搬运
  3. Dijkstra模板
  4. python写web难受-用Python编写web API的教程
  5. jdk8中对HashMap做了哪些改变?
  6. ELK学习记录三 :elasticsearch、logstash及kibana的安装与配置(windows)
  7. 【转】DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析!!!!!!!!
  8. 十个模块_专栏 | ABAQUS Part模块的十个小技巧
  9. DeepLearningAI 学习笔记 1.3 浅层 logistic 神经网络
  10. 解析Java对象引用与JVM自动内存管理(2)
  11. android 系统dialog的应用
  12. Android Studio报错:Plugin Kotlin was not installed: Cannot download
  13. 海量监控视频如何存储?
  14. 微信支付/支付宝指纹支付原理
  15. d3.js学习笔记-10(布局:树状图、集群图捆、捆图)
  16. 华为荣耀20和x10比较_华为畅享20 Pro和荣耀X10哪个好 配置参数谁更胜一筹
  17. Adobe Audition 2022 v22.2 U2B macOS 专业的音频工作站
  18. 蓝桥杯:跳蚂蚱【BFS】【Python】
  19. 美国计算机研究生留学签证时间,美国大学研究生录取结果,美国研究生院录取时间和流程一览!附2021秋季截止日期...
  20. 时间序列预测-入门概念

热门文章

  1. excel怎么一次性删除所有的批注
  2. uniapp中,H5端使用html2canvas生成海报
  3. 机器人学: 建模 规划与控制(英文原版)_伦敦大学国王学院机器人学理学硕士研究生offer一枚...
  4. 【Windows逆向】Windows进程动态patch入门+pyqt5搭建GUI
  5. [SSM框架]—Spring入门
  6. SAP ABAP BASE64 MD5 加解密
  7. Windows Dll 动态加载
  8. Litestar 4D:统一眩光值计算
  9. python发送email
  10. T4M插件放入unity后怎么找不到_Unity动画系统详解4:如何用代码控制动画?