【问题标题】:How do I copy pages from one PdfDocument to another with itext7如何使用 itext7 将页面从一个 PdfDocument 复制到另一个
【发布时间】:2019-04-03 17:34:05
【问题描述】:

我有 2 个PdfDocuments,想将一个 pdf 的所有页面复制到另一个。两者都是有效的 pdf。

这是我目前的代码,但它没有添加页面:

PdfDocument pdfDocument = new PdfDocument(writer);
PdfDocument srcPdf = new PdfDocument(reader);
for(int i=1; i<=srcPdf.getNumberOfPages(); i++) {
   pdfDocument.addPage(srcPdf.getPage(i));
}
srcPdf.close();
//I close the other pdf at a later moment

【问题讨论】:

    标签: java pdf copy itext itext7


    【解决方案1】:

    addPage 方法旨在处理同一文档的页面。

    要复制不同文档的页面,应使用PdfMergercopyPagesTo 功能。

    前一个就这么简单:

        PdfDocument mergedDoc = new PdfDocument(new PdfWriter(destination));
        PdfMerger merger = new PdfMerger(mergedDoc);
        for(File source : sources){
            // set source pdf
            PdfDocument sourcePdf = new PdfDocument(new PdfReader(source));
            // merge
            merger.merge(sourcePdf, 1, sourcePdf.getNumberOfPages()).setCloseSourceDocuments(true);
            // close source
            sourcePdf.close();
        }
        merger.close();
        mergedDoc.close();
    

    后一个也很简单:

        PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(dest));
        PdfDocument insertDoc = new PdfDocument(new PdfReader(INSERT));
        insertDoc.copyPagesTo(1, 1, pdfDoc, 4);
        insertDoc.close();
    

    【讨论】:

    • 谢谢!这对我有用:srcPdf.copyPagesTo(1, srcPdf.getNumberOfPages(), pdfDocument);
    猜你喜欢
    • 1970-01-01
    • 2017-12-19
    • 2011-12-05
    • 2022-09-26
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    相关资源
    最近更新 更多