java 使用itextpdf分割pdf文件,pdf分页
生活随笔
收集整理的這篇文章主要介紹了
java 使用itextpdf分割pdf文件,pdf分页
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
itextpdf依賴
<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version></dependency>代碼實現(xiàn),? 我這里是直接輸出到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);//總頁數(shù)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个视频