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保证了在任何系统下不会出错。