前言
实际开发过程中,会因实际业务原因需把多个pdf合并成一个pdf。
代码如下:
import com.itextpdf.text.pdf.*;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
/**
* 将多个pdf 合并成一个pdf
* @return
*/
public boolean mergePdfFiles(String[] files, String newfile) {
//将 test1.pdf 与 test2.pdf中的内容 合并成 test3.pdf
String[] oldFiles = {"D:/test1.pdf", "D:/test2.pdf"};
String newfile = "D:/test3.pdf";
boolean retValue = false;
Document document = null;
try {
document = new Document(new PdfReader(files[0]).getPageSize(1));
PdfCopy copy = new PdfCopy(document, new FileOutputStream(newfile));
document.open();
for (int i = 0; i < files.length; i++) {
PdfReader reader = new PdfReader(files[i]);
int n = reader.getNumberOfPages();
for (int j = 1; j <= n; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
}
}
retValue = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
document.close();
}
return retValue;
}