获取需要合并的pdf的字节数组
将字节数组封装为PdfReader对象
创建PdfCopy对象
创建一个document对象
创建一个输出流,便于获取document转化的字节数组
List<PdfReader> pdfReaders = new ArrayList<>();
for (Map<String, Object> info : ids) {
PdfReader pdfReader = new PdfReader(this.getPdf(info, request));
pdfReaders.add(pdfReader);
}
byte[] bytes = this.mergePdf(pdfReaders);
private byte[] mergePdf(List<PdfReader> readers) throws Exception {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Document document = new Document();
PdfCopy copy = new PdfCopy(document, byteArrayOutputStream);
//必须打开
document.open();
for (PdfReader reader : readers) {
//增加一页
document.newPage();
copy.addDocument(reader);
}
copy.close();
return byteArrayOutputStream.toByteArray();
}