要将一个 PDF 文档拆分为多个 PDF 文档,您可以使用 PDFBox Java API 的 Splitter.split() 方法。

在本教程中,我们将学习使用示例 Java 程序拆分 PDF 文档。

  • 将 PDF 文档中的每一页拆分为不同的 PDF
  • 以指定的时间间隔拆分 PDF

PDFBox 示例 1 - 将 PDF 拆分为多个 PDF

在此示例中,我们将采用多页 PDF,并将此 PDF 文档拆分为多个 PDF,其中每个生成的 PDF 文档仅包含源文档中的一页。

SplitPDFExample.java

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 SplitPDFExample {
 
    public static void main(String[] args) throws IOException {
          File file = new File("/home/tk/sample_pdf.pdf");
           
          // load pdf file
          PDDocument document = PDDocument.load(file);
 
          // instantiating Splitter
          Splitter splitter = new Splitter();
           
          // split the pages of a PDF document
          List<PDDocument> Pages = splitter.split(document);
 
          // Creating an iterator
          Iterator<PDDocument> iterator = Pages.listIterator();
 
          // saving splits as pdf
          int i = 0;
          while(iterator.hasNext()) {
             PDDocument pd = iterator.next();
             // provide destination path to the PDF split
             pd.save("/home/tk/pdfs/sample_part_"+ ++i +".pdf");
             System.out.println("Saved /home/tk/pdfs/sample_part_"+ i +".pdf");
          }
          System.out.println("Provided PDF has been split into multiple.");
          document.close();
    }
 
}

输出

Saved /home/tk/pdfs/sample_part_1.pdf
Saved /home/tk/pdfs/sample_part_2.pdf
Saved /home/tk/pdfs/sample_part_3.pdf
Saved /home/tk/pdfs/sample_part_4.pdf
Saved /home/tk/pdfs/sample_part_5.pdf
Saved /home/tk/pdfs/sample_part_6.pdf
Provided PDF has been split into multiple.

PDFBox 示例 2 - 以指定间隔拆分 PDF

以下是将 PDF 文档拆分为多个 PDF 文档的分步指南,这些文档已在源文档中以特定间隔拆分。

SplitPDFAtPageExample.java

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 SplitPDFAtPageExample {
 
    public static void main(String[] args) throws IOException {
          File file = new File("/home/tk/sample_pdf.pdf");
           
          // load pdf file
          PDDocument document = PDDocument.load(file);
 
          // instantiating Splitter
          Splitter splitter = new Splitter();
           
          splitter.setSplitAtPage(2);
           
          // split the pages of a PDF document
          List<PDDocument> Pages = splitter.split(document);
 
          // Creating an iterator
          Iterator<PDDocument> iterator = Pages.listIterator();
 
          // saving splits as pdf
          int i = 0;
          while(iterator.hasNext()) {
             PDDocument pd = iterator.next();
             pd.save("/home/tk/pdfs/sample_part_"+ ++i +".pdf");
             System.out.println("Saved /home/tk/pdfs/sample_part_"+ i +".pdf");
          }
           
          // close the document
          document.close();
    }
 
}

输出

Saved /home/tk/pdfs/sample_part_1.pdf
Saved /home/tk/pdfs/sample_part_2.pdf
Saved /home/tk/pdfs/sample_part_3.pdf

默认情况下,splitAtPage 设置为 1。

结论

在本PDFBox 教程中,我们学习了将 PDF 文档拆分为多个 PDF。

Java使用PDFBox将一个 PDF 文档拆分为多个 PDF相关推荐

  1. python处理pdf文件的程序_Python处理PDF文档-拆分合并

    使用Python处理PDF文档.将需要处理的PDF文档与处理程序放到一个新建的文件夹中.运行程序. S模式,将单个PDF文档拆分到单页,并以数字命名. image.png C模式,合并文档,需要提前将 ...

  2. html在电脑里怎么打开pdf文件,电脑上的PDF文档怎么打开?打开PDF的5种方法

    原标题:电脑上的PDF文档怎么打开?打开PDF的5种方法 目前常用的办公文档中PDF因其格式的稳定性和兼容性都较好,而被越来越多的人使用.那么PDF文档应该如何打开呢?有哪些常用的PDF文件的打开方式 ...

  3. python书籍pdf文档密码-Python玩转PDF的各种骚操作

    Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换.尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO ...

  4. PDF文档阅读器-福昕PDF阅读器下载

    福昕PDF阅读器(Foxit Reader)是福昕公司推出的首款简体中文版本PDF文档阅读器,它的启动速度是很快的,是一款非常好用的软件.福昕PDF阅读器(Foxit Reader)是用户信赖的阅读器 ...

  5. pdf 文档 搜索 服务器,福昕PDF搜索工具_PDF文档索引与检索_福昕软件官网

    快速精准的索引技术,帮助您快速搜索PDF文档 Foxit PDF IFilter实现了快速精准的索引技术,通过指定搜索条件,对大量PDF文件进行索引,从而快速定位到所需文档.Foxit PDF IFi ...

  6. 用C#实现生成PDF文档和将WORD转换为PDF (转自海东的技术资料)

    转自:http://www.cnblogs.com/ghd258/articles/258060.html 前言:由于一个客户的项目中需要将WORD文档转换成PDF格式,故写了本篇实站教程  需求分析 ...

  7. 用C#实现生成PDF文档和将WORD转换为PDF

    知识点:线程调用,异步线程,异步线程回调函数,C#的类,WSH宿主脚本开发 前言:由于一个客户的项目中需要将WORD文档转换成PDF格式,故写了本篇实站教程 需求分析:客户的项目以B/S结构为主,提供 ...

  8. 服务器上pdf文档无法删除,怎么对PDF文件进行编辑,PDF怎么删除空白页

    随着PDF文件越来越受大家的欢迎,PDF文件的修改编辑是需要用到PDF编辑器的,不知道大家在使用PDF文件的时候,编辑文件之后有没有文件中有页面需要删除的情况,在编辑文件的时候如果遇到文件中有页面需要 ...

  9. pdf压缩的网站?pdf文件在线压缩?在线压缩pdf文件大小?pdf文档压缩,在线压缩pdf文件大小,压缩pdf大小的方法?

    pdf在线压缩大小?在工作中需要处理大量PDF文件,我们通常要对PDF文件进行压缩处理.那么问题来了,PDF文件该怎么压缩呢?可能很多人都不知道具体的操作方法,今天要分享给大家的正是PDF压缩的方法, ...

  10. 如何把一个PDF文档拆分为多个文档

    随着PDF格式文件的广泛应用,我们不可避免的遇到将一个大的PDF文件切分成为一个个单独的文件.下面我们以迅捷 pdf分割软件 为例,仔细谈谈怎么把PDF文件分割成若干个文件. 步骤与方法: ①拆分一个 ...

最新文章

  1. 计算机技术在工程的应用浅论,《计算机技术在计算机应用技术中的应用浅论》...
  2. 暑假N天乐【比赛篇】 —— 2019杭电暑期多校训练营(第五场)
  3. 浙江工商大学计算机学院调剂录取,浙江工商大学2017年硕士研究生调剂拟录取名单公布(持续更新)...
  4. boost::multiprecision模块将 std::numeric_limits 用作 multiprecision.qbk 上的多精度文档片段的示例
  5. 【渝粤教育】广东开放大学 系统工程 形成性考核 (25)
  6. 洛谷 P3382 【模板】三分法
  7. mac安装helm工具_适用于初学者的基本 kubectl 和 Helm 命令
  8. 大数据技术原理与应用(最后三天备考!!!)
  9. 汽车故障诊断技术【9】
  10. 一味迎合观众,就会被淘汰
  11. 2020奶茶行业研究报告
  12. 三种迭代法解方程组(雅可比Jacobi、高斯-赛德尔Gaisi_saideer、逐次超松弛SOR)
  13. 【无标题】https://e-cloudstore.com/ec/api/applist/index.html#/
  14. 数模学习(模糊数学篇)——模糊识别(python实现)
  15. 幼儿园教师计算机技术培训计划,幼儿园教师基本功培训计划3篇
  16. Oracle闪回报错,Oracle闪回恢复 - osc_pnw2apz4的个人空间 - OSCHINA - 中文开源技术交流社区...
  17. 格灵深瞳出手,灵异视频告破
  18. [附源码]Python计算机毕业设计SSM流浪猫狗救助站(程序+LW)
  19. 手机4g信号强的服务器,国内三大运营商到底谁的4G网络信号最强?很多人都搞错了,望周知...
  20. 英语语法总结---三、英语中三个特殊句式是哪三个

热门文章

  1. 手把手教你开发App(HelloWorld)
  2. mac日历与iphone日历不无法同步问题
  3. 经典回忆Adobe Photoshop CS 2安装教程永久注册使用
  4. html5微信 红包源码,微信抢红包源码和模拟demo
  5. MySQL初始密码忘记了怎么办
  6. 移动硬盘安装win10
  7. 以太坊Whisper协议
  8. python 实现接口上传图片
  9. 转:有关Forth语言
  10. 安卓桌面软件_iOS便签软件求推荐,有可以在iOS系统上使用的桌面便签软件吗 - 学显...