我有一个包含多个PDF的列表,我想将所有PDF合并到一个PdfDocument中(即使用iText),然后将该PdfDocument转换为ByteArrayOutputStream(或byte [])。
public byte[] mergePdfDocumentsIntoAPdfDocument (List<PdfDocument> pdfDocuments){
final ByteArrayOutputStream mergedPdfStream = new ByteArrayOutputStream();
final PdfDocument mergedPdfDocument = new PdfDocument(new PdfWriter(mergedPdfStream));
//I dont know how can I continue this
我应该怎么做才能做到这一点?
答案 0 :(得分:3)
public byte[] mergePdfDocumentsIntoAPdfDocument(List<PdfDocument> pdfDocuments){
ByteArrayOutputStream mergedPdfStream = new ByteArrayOutputStream();
PdfDocument resultDoc = new PdfDocument(new PdfWriter(mergedPdfStream));
for (PdfDocument doc : pdfDocuments) {
int n = doc.getNumberOfPages();
for (int i = 1; i <= n; i++) {
PdfPage page = doc.getPage(i).copyTo(resultDoc);
resultDoc.addPage(page);
}
}
resultDoc.close();
return mergedPdfStream.toByteArray();
}