我有 2 个 PdfDocument
,并且想要将一个 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();
关于java - 如何使用 itext7 将页面从一个 PdfDocument 复制到另一个 PdfDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55501051/