【问题标题】:How to merge List<PdfDocument> into a single PdfDocument如何将 List<PdfDocument> 合并为单个 PdfDocument
【发布时间】:2019-11-23 01:23:21
【问题描述】:

我有一个包含多个 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

我应该怎么做才能实现这一目标?

【问题讨论】:

标签: java pdf itext pdf-generation itext7


【解决方案1】:
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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 2018-04-01
    • 2017-03-23
    相关资源
    最近更新 更多