JAVA将多个PDF合并成一个


最近本人在做项目时,遇到一个问题,需要将多个PDF合成一个,本人将该方法分项给大家,希望对大家有所帮助!!!

  • maven引入pdfbox工具包
        
            org.apache.pdfbox
            pdfbox
            2.0.25
        
  • PDF合成关键代码
    // pdf合并工具类
    public static File mulFile2One(List 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 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();
        }
    }