这篇文章主要介绍以下两种拆分方式:

  1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)
  2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)

使用组件:

Spire.PDF for Java

在使用下面的代码前,你需要下载Spire.PDF for Java包并解压缩,然后从lib文件夹下导入Spire.Pdf.jar包到你的Java应用程序中。

原PDF文档如下:

1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)

以下代码将原PDF文档均分为5个PDF文档,每个文档包含1页:

import com.spire.pdf.*;public class SplitPDF {public static void main(String[] args){//加载PDF文档PdfDocument doc = new PdfDocument();doc.loadFromFile("sample.pdf");//拆分为多个PDF文档doc.split("output/splitDocument-{0}.pdf", 0);doc.close();}
}

拆分后:

2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)​​​​​​​

以下代码将原PDF文档的第1-2页拆分一个PDF文档,第3-5页拆分为另一个PDF文档:

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfMargins;import java.awt.geom.Point2D;public class SplitPDF {public static void main(String[] args){//加载PDF文档PdfDocument doc = new PdfDocument();doc.loadFromFile("sample.pdf");//新建一个PDF文档PdfDocument newDoc1 = new PdfDocument();PdfPageBase page;//将原PDF文档的第1、2页添加至新建的PDFfor(int i = 0;i<2;i++){page = newDoc1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));}//保存文档newDoc1.saveToFile("split/Doc1.pdf");//新建另一个PDF文档PdfDocument newDoc2 = new PdfDocument();//将原PDF文档的第3至5页添加至新建的PDFfor(int i = 2;i<5;i++){page = newDoc2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));}//保存文档newDoc2.saveToFile("split/Doc2.pdf");}
}

拆分后:

Java 拆分PDF文档相关推荐

  1. java pdf合并_Java 合并、拆分PDF文档

    本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页:拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来 ...

  2. java拆分_Java 拆分 PDF 文档

    在办公过程中,我们有时会遇到需要将一个比较大的PDF文档拆分成多个文档的情况, 今天这篇文章就将介绍两种使用Free Spire.PDF for Java来拆分PDF文档的方法. 方法一:将一个PDF ...

  3. Java 处理PDF文档(一):页眉页脚、水印、背景、附件

    前言 本文将介绍通过Java编程来处理PDF文档的一些方法,因为一篇文档的处理可能包括很多内容,比如文档安全性设置(水印.加密/解密).文本/图片/图形操作.注释.附件.域.文档转换(其他文件格式转为 ...

  4. Java在PDF文档中添加或删除页面

    前言 当你编辑一个PDF文档时,有时需要删除文档中多余的页面或向文档中添加新的页面.本文将向您演示如何使用Spire.PDF for Java在PDF文档中添加或删除页面. 程序环境 安装Spire. ...

  5. java生成pdf方法_详解Java生成PDF文档方法|chu

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持iText,生成PDF文档,还支持将XML ...

  6. java jar 打印_三种Java打印PDF文档的实例代码

    以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 1 静默打印 2 显示打印对话框打印 3 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar文件获取及导 ...

  7. 福昕阅读器怎么拆分PDF文档?

    在工作和学习中不可避免需要将自己需要的PDF文档进行拆分或合并操作,网上搜索了很多方法,大部分都是使用PDF编辑器来实现,但是,其实还有一个免费好用的方法,就是用福昕阅读器领鲜版可以实现拆分PDF文档 ...

  8. PDF办公技巧:怎么拆分PDF文档

    怎么拆分PDF文档呢?我们想要将一个PDF文档拆分成多个PDF文档需要怎么操作呢?想要拆分PDF文档需要使用到专业的PDF编辑器来进行操作,下面小编就为大家操作一下拆分PDF文档的方法步骤. 操作软件 ...

  9. [.NET开发] C# 合并、拆分PDF文档

    在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供极 ...

最新文章

  1. “未能为域创建GPO 出现扩展错误”的解决办法
  2. log4j的NDC/MDC区别与应用
  3. jquery.autocomplete.js 插件的自定义搜索规则
  4. type=InnoDB ENGINE=InnoDB
  5. php动态删除输入框,jQuery实现动态添加和删除input框实例代码
  6. PyTorch框架学习一——PyTorch的安装(CPU版本)
  7. IP通信基础学习第十周
  8. thinkphp引入PHPExcel类---thinkPHP类库扩展-----引入没有采用命名空间的类库
  9. 【深度学习】深度学习实验记录--自编码+分类器
  10. mysql 环形主从_【每日一博】MySQL 互为主从(环形结构)_MySQL
  11. 圆弧裁剪算法c++_程序媛转TA之理论篇十二:反走样的几种算法原理
  12. 使用weblogic部署若依项目(图文教程)
  13. Zynq-Linux移植学习笔记之47-PL部分spi flash文件系统挂载
  14. 苹果手机人脸识别不了是什么原因_苹果:iPhone人脸识别能秒了所有安卓手机!...
  15. 计算机中h是几进制,16进制后面用H表示,其他进制的用什么表示
  16. Python之使用代理服务器访问网页
  17. [经典论文分享] Decision Transformer: Reinforcement Learning via Sequence Modeling
  18. 雪碧图PHP,如何在小程序中使用雪碧图
  19. BZOJ2876: [Noi2012]骑行川藏
  20. Learning to Collaborate: Multi-Scenario Ranking via Multi-Agent Reinforcement Learning

热门文章

  1. 获取历史和实时股票数据接口
  2. DNS是什么意思有什么作用了
  3. ffmpeg音乐+图片合成视频
  4. leetcode 栈739. 每日温度
  5. LeetCode知识点总结 - 347
  6. java求出1~100之间,既是3又是7的倍数的自然数出现的次数?
  7. vue3 setup中获取地址栏参数
  8. t-star腾讯安全高校挑战赛2022 writeup
  9. Mac苹果电脑怎样安装Python
  10. hdu 4379The More The Better