itextpdf实现截取pdf文档第几页到第几页

起因:pdf文档太大,100M以上,导致前端根本无法显示。解决方案,后端进行pdf文档分片操作,例如十页十页的传给前端。

1.使用itextpdf
导入依赖

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version>
</dependency>

2.业务逻辑

 @GetMapping("/download")public void pdf(@RequestParam(value = "page", required = false) String page, HttpServletResponse response) throws IOException, DocumentException {//文件路径path = "C:\\Users\\pdf文件.pdf"";// 读取pdf文档PdfReader reader = new PdfReader(path);//总页数int numberOfPages = reader.getNumberOfPages();// 截取开始页int start = Integer.parseInt(page.substring(0, 1));//截取pdf部分页,格式"2-5" 第2页到第5页 页码超出范围(10页,你选择"15-20")只会读最后一页// 参数为String型,可让前端传值,控制读取第几页// reader.selectPages("2-5"); reader.selectPages(page);//源码没怎么看懂,但是需要内存中存放文件流,所以用了HttpServletResponsePdfStamper stamp = new PdfStamper(reader, response.getOutputStream());// 开始页 如果大于pdf总页数,不返回文件流,stamp.close()结果返回1if(start <= numberOfPages){stamp.close();}reader.close();
}

3.结果
一千多页的文档,我选择截取1-5页,那么只会显示1,2,3,4,5这几页

使用itextpdf实现截取pdf文档第几页到第几页,进行分片相关推荐

  1. 万彩办公大师多页PDF文档去掉空白部分合并到同一页

    前置条件:下载万彩办公大师. 方法如下: 1.先使用"PDF页面分割"工具将PDF的每一个页面的空白部分通过分割线选中分割出来,保存为"文档1".(分割之后空白 ...

  2. python 搜索pdf文件中的文字_使用python查找pdf文档中搜索字符串位于哪一页

    我终于发现pyPDF可以帮上忙.我把它寄出去,以防它能帮助别人. (1)定位字符串的函数def fnPDF_FindText(xFile, xString): # xfile : the PDF fi ...

  3. java解析pdf文档(前面写了docx的解析所以也思考写一份pdf的解析)--PdfReader底层分析

    一.直接将前篇docx文档转成pdf文档用于测试 二.由于使用pdf文档所以需要引入一个新的依赖 <!--itextpdf是生成PDF文档的一个java类库--> <dependen ...

  4. pdf文档转化为doc文档 (转载)

    1.1  pdf文档 PDF(Portable Document Format)文件格式是Adobe公司所开发的一种特殊的文本格式,这种文本格式最大的优点是其尺寸较小.阅读方便,非常适合在网络上传播和 ...

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

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

  6. 高效办公!Python 批量生成PDF文档

    日常办公中,经常会使用PDF文档,难免需要对PDF文档进行编辑,有时候PDF文档中的大部分内容都是一样的,只是发送对象不同. 这种模板套用的场景下,使用Python进行自动化就尤为方便,用最短的时间办 ...

  7. PDF文档一键自动生成目录和书签

      在工作中经常会遇到编写文档的时候,当我们在word编写完文档后,一般可以自动生成一个目录.为了方便阅读和保护文档不被破坏,一般发送给别人的时候,需要把word文档转换成PDF格式.但是word文档 ...

  8. 10个免费在线拆分PDF文档的网站,简单易用!

    我们都接触过PDF文档,从电子书.手册.发票到银行对账单,数字世界要求格式标准化,而 PDF已经很好地发挥了它的作用. 但是,出于各种原因,我们经常要对PDF文档进行二次编辑,最常见的功能之一是将多个 ...

  9. 使用itextpdf将html内容转PDF文档,并签章

    依赖com.itextpdf <dependency><groupId>com.itextpdf</groupId><artifactId>itextp ...

最新文章

  1. R语言完美重现STAMP结果图
  2. python 2.6.6安装MySQL-python模块
  3. 8.1 matlab图形窗口与坐标轴(图形对象的句柄和属性、坐标轴的操作、图形窗口的操作)
  4. HTML Input 属性
  5. linux 终端报错 Out of memory: Kill process[PID] [process name] score问题分析
  6. HTML代码转换编辑器
  7. 深入理解卷积层,全连接层的作用意义
  8. 实操教程丨如何将一个k3s集群集成到Gitlab项目中
  9. 没有并发经验,但是面试中经常被问到高并发,怎么破局?
  10. php sphinx 查询,php-Sphinx RT索引和SphinxQL查询
  11. html5证书,免费获得微软MCSD证书赶快行动吧!_html5教程技巧
  12. dosbox edit.exe 如何使用_微软软件如何激活?这个神器分享给你!
  13. 解密阿里云之飞天平台内核
  14. Canvas 实现小程序动画
  15. 卫星通信系统按照工作轨道分类
  16. scratch优秀案例-双人足球对战赛
  17. 关于flash强制更新:早上上班,多台电脑提示未安装flash
  18. do还是doing imagine加to_doing与to do的用法
  19. 安卓手机卡顿怎么解决_苹果七系统内存满了手机卡顿解决方法
  20. linux环境下questasim 10.7的安装步骤

热门文章

  1. vue3+echarts5 中国地图+散点地图
  2. SpringBoot与mockito那点事
  3. LOL - 英雄联盟 (2011年腾讯运营的电子竞技类游戏)
  4. 计算机完成双系统无法启动怎么办,电脑安装双系统后只有一个系统引导修复教程...
  5. 国产动漫强势崛起  微博动漫有机会找巨头重压之下破圈突围吗?
  6. apach--内部访问控制 、https、apach的虚拟机、apach支持语言、论坛
  7. java 手机号 邮箱 身份证 信息脱敏
  8. Linux教程:基本命令学习
  9. 地图产品:地图APP是怎么实现实时路况的
  10. mybatis中xml之trim属性