package com.solar.fdd.util;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
public class PdfFileUtil {
/**
* pdf合併拼接
* @Title:mulFile2One
* @Description: TODO
* @date 2019年9月22日 上午10:05:37
* @author yqwang
* @param files 文件列表
* @param targetPath 合併到
* @return
* @throws IOException
*/
public static File mulFile2One(List<File> files,String targetPath) throws IOException{
// pdf合併工具類
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>();
files.add(new File("D:\\test\\f1.pdf"));
files.add(new File("D:\\test\\f2.pdf"));
files.add(new File("D:\\test\\f3.pdf"));
File f = mulFile2One(files, "D:\\test\\mul2one.pdf");
System.out.println(f.length());
}
}