最近本人在做項目時,遇到一個問題,需要將多個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); } } // 設置合並生成pdf文件名稱 mergePdf.setDestinationFileName(targetPath); // 合並pdf mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly()); return new File(targetPath); } //測試 public static void main(String[] args) throws IOException { List<File> files = new ArrayList(); 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(); } }