使用 PdfSmartCopy 在 iText 中连接多个 PDF 时添加空白页

JWo*_*Wol 3 pdf pdf-generation itext

我试图连接大量的 PDF 文件以创建一个可打印的文件,这样我就不必逐个打印它们。我想要的打印就绪文件需要是双面的,所以对于我只有1页的文档,我需要在文档的“背面”添加一个空白页,否则下面的文档会乱七八糟。

有没有办法在使用 PdfSmartCopy 连接文件时添加空白页?我知道 PdfWriter 可以轻松添加空白页,但它不是用于合并大量文件,这就是我不使用它的原因。

我已经阅读了如何在 Java 中的现有PDF 中添加空白页的问题的答案但是,在这种情况下我不能使用PdfStamper,因为我需要一个小文件大小,这似乎PdfSmartCopy是唯一可行的选择,除非我错过了什么。

我唯一的希望是使用 1 页空白 PDF 文件并在我需要空白页时插入它吗?

编辑:我使用的是 java 版本,不确定它对这个问题是否重要。

Bru*_*gie 6

在我对您所指问题的回答中,我解释了如何使用PdfStamper. 这对您没有帮助,因为您使用的是PdfSmartCopy,它是PdfCopy.

使用PdfCopy(或其子类PdfSmartCopy)时,您可以使用如下addPage()方法:

copy.addPage(PageSize.A4, 0);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将添加尺寸为 A4 的页面。在您的情况下,您希望确保空白页面与文档中的其他页面具有相同的尺寸,因此您将执行以下操作:

copy.addPage(reader.getPageSize(1), reader.getPageRotation(1));
Run Code Online (Sandbox Code Playgroud)

Rectangle值现在将与阅读器中第一页的大小相对应;该int值将与现有文档第一页的旋转相对应。