1.導入依賴
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.16</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-tools</artifactId>
<version>2.0.16</version>
</dependency>
2.工具類
public class PDFUtils {
public static void main(String[] args) throws Exception{
Long s = System.currentTimeMillis();
// System.out.println(pdfToImage("d:/3333.pdf"));
List<String> pdfList = new ArrayList<>();
pdfList.add("d:/3333.pdf");
pdfList.add("d:/3333.pdf");
pdfList.add("d:/3333.pdf");
pdfList.add("d:/3333.pdf");
pdfList.add("d:/3333.pdf");
String save = "d:/hb.pdf";
mergePDF(pdfList,save);
File f = new File(save);
System.out.println(f.exists());
System.out.println(System.currentTimeMillis()-s);
}
/**
* 合并多個PDF為一個PDF
* @param pdfList PDF檔案清單
* @param mergePDFPath 合并後的PDF完整路徑
*/
public static void mergePDF(List<String> pdfList,String mergePDFPath){
try {
PDFMergerUtility PDFmerger = new PDFMergerUtility();
PDFmerger.setDestinationFileName(mergePDFPath);
for(String str :pdfList) {
File file = new File(str);
PDFmerger.addSource(file);
}
PDFmerger.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
log.info(pdfList.size()+"個PDF合并成功");
}catch (Exception e){
e.printStackTrace();
}
}
}