1、首先下载一个jar包:pdfbox-app-1.7.1.jar
2、代码如下:
package com; import java.io.File; import java.io.IOException; import org.apache.pdfbox.util.PDFMergerUtility; /** * PDF格式的图片合并 * */ public class PdfBox { private static String[] getFiles(String folder) throws IOException { File _folder = new File(folder); String[] filesInFolder; if(_folder.isDirectory()){ filesInFolder = _folder.list(); return filesInFolder; } else { throw new IOException("Path is not a directory"); } } public static void main(String[] args) throws Exception { //pdf合并工具类 PDFMergerUtility mergePdf = new PDFMergerUtility(); String folder = "D:/testFile"; String destinationFileName = "mergedTest.pdf"; String[] filesInFolder = getFiles(folder); for(int i = 0; i < filesInFolder.length; i++){ //循环添加要合并的pdf存放的路径 mergePdf.addSource(folder + File.pathSeparator + filesInFolder[i]); } //设置合并生成pdf文件名称 mergePdf.setDestinationFileName(folder + File.separator + destinationFileName); //合并pdf mergePdf.mergeDocuments(); } }
其中注意的是:File.separator
在windows中的文件分隔符是 \ 和 /都可以
但是在Linux中,文件分隔符只能是/
所以用了\\的程序在Linux下会出问题。
而File.separator是系统默认的文件分割符号,屏蔽了这些系统的区别。
用File.separator保证了在任何系统下不会出错。