当前位置:
首页 >
java 使用itextpdf分割pdf文件,pdf分页
发布时间:2023/12/20
57
豆豆
生活随笔
收集整理的这篇文章主要介绍了
java 使用itextpdf分割pdf文件,pdf分页
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
itextpdf依赖
<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version></dependency>代码实现, 我这里是直接输出到response的响应流了,给前端页面分页查看pdf用,如果分割成多个pdf文件,可以输出到自己的FileOutputStream
PdfReader reader = null;PdfWriter writer = null;//获取文件输入流FileInputStream is = null;try (//获取响应输出流ServletOutputStream os = response.getOutputStream()) {//截取文件名称String fileName = path.substring(path.lastIndexOf("\\"));//文件下载response.setHeader("content-disposition","attachment;fileName=" + new String(fileName.getBytes("gb2312"), StandardCharsets.ISO_8859_1));// 页码为0 下载整个文件if (pageNum == 0) {is = new FileInputStream(tbSysParamsMapper.selectById("FILEPATH").getValue() + "\\" + path);IoUtil.copy(is, os);} else {reader = new PdfReader(tbSysParamsMapper.selectById("FILEPATH").getValue() + "\\" + path);//总页数int pageCount = reader.getNumberOfPages();if (pageNum > pageCount) {throw new MyException(RespCodeEnum.NOT_HAVE_PAGES);}Document dd = new Document(reader.getPageSize(pageNum));writer = PdfWriter.getInstance(dd, os);dd.open();PdfContentByte cb = writer.getDirectContent();dd.newPage();cb.addTemplate(writer.getImportedPage(reader, pageNum), 0, 0);dd.close();writer.close();}} catch (IOException | DocumentException e) {e.printStackTrace();} finally {if (reader != null) {reader.close();}if (writer != null) {writer.close();}if (is != null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}总结
以上是生活随笔为你收集整理的java 使用itextpdf分割pdf文件,pdf分页的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 解决/WEB-INF目录下的jsp页面引
- 下一篇: 机器学习必看的28个视频