Java 如何使用itext7将页面从一个PDF文档复制到另一个PDF文档

Java 如何使用itext7将页面从一个PDF文档复制到另一个PDF文档,java,pdf,copy,itext,itext7,Java,Pdf,Copy,Itext,Itext7,我有2个pdf文档,希望将一个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)

我有2个pdf文档,希望将一个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
addPage方法用于处理同一文档的页面

要复制不同文档的页面,应使用PdfMerger或copyPagesTo功能

前一种方法很简单:

    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.copyPagesTo1,srcPdf.getNumberOfPages,pdfDocument;