JAVA將多個PDF合併成一個
阿新 • • 發佈:2022-03-04
JAVA將多個PDF合併成一個
最近本人在做專案時,遇到一個問題,需要將多個PDF合成一個,本人將該方法分項給大家,希望對大家有所幫助!!!
- maven引入pdfbox工具包
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.25</version> </dependency>
- PDF合成關鍵程式碼
// pdf合併工具類 public static File mulFile2One(List<File> files, String targetPath) throws Exception { PDFMergerUtility mergePdf = new PDFMergerUtility(); for (File f : files) { if(f.exists() && f.isFile()){ // 迴圈新增要合併的pdf mergePdf.addSource(f); } }作者:IT民工鄭小江 出處:http://a876459952.cnblogs.com/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。// 設定合併生成pdf檔名稱 mergePdf.setDestinationFileName(targetPath); // 合併pdf mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly()); return new File(targetPath); } //測試 public static void main(String[] args) throws IOException { List<File> files = newArrayList(); File file = new File("C:\\Users\\Administrator\\Desktop\\pdf\\temp"); File[] tempList = file.listFiles(); //獲取該資料夾下的檔案(檔案都是PDF) for (int i = 0; i < tempList.length; i++) { if (tempList[i].isFile()) { files.add(tempList[i]); } } try { File f = mulFile2One(files, "C:\\Users\\Administrator\\Desktop\\pdf\\合成PDF.pdf"); System.out.println(f.length()); } catch (Exception e){ e.printStackTrace(); } }