java 使用itext分割pdf
阿新 • • 發佈:2019-02-05
split pdf online 線上pdf分割功能上線了。 戳這裡試用[https://pdfmerge.online/pdfsplit/index.html](https://pdfmerge.online/pdfsplit/index.html) 有了pdf合併功能還不夠,總會遇到這種情況,下載了一本pdf檔案,由於檔案太大不方便閱讀和傳播。 那麼按照章節進行分割是很正常的需求, 新上線的的pdf分割功能可以通過制定分割的頁碼進行分割, 比如制定第1,3,5,9頁; - 會分割為三個檔案,分別為: - 第1到2頁為一個檔案 - 第3到8頁為一個檔案 - 第9到最後一頁為一個檔案 核心程式碼: ``` public String splitFile(String pdfFile,Integer from,Integer end){ Document document = null; PdfCopy copy = null; try { PdfReader reader = new PdfReader(pdfFile); int n = reader.getNumberOfPages(); if(end==0){ end = n; } List<String> savepaths = new ArrayList<String>(); int a = pdfFile.lastIndexOf(".pdf"); String staticpath = pdfFile.substring(0, a); String savepath = staticpath+ "_from_"+from+"_to_"+end+"_.pdf"; savepaths.add(savepath); document = new Document(reader.getPageSize(1)); copy = new PdfCopy(document, new FileOutputStream(savepaths.get(0))); document.open(); for(int j=from; j<=end; j++) { document.newPage(); PdfImportedPage page = copy.getImportedPage(reader, j); copy.addPage(page); } document.close(); return new File(savepath).getName(); } catch (IOException e) { logger.error("split pdf file error:{}",e.getMessage(),e); return null; } catch(DocumentException e) { logger.error("split pdf file error:{}",e.getMessage(),e); return null; } } ```