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

时间:2014-01-30 10:47:48

标签: pdf pdf-generation itext

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

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

我已经阅读了问题的答案How to add blank pages in exist PDF in java?但是,在这种情况下,我无法使用PdfStamper,因为我需要一个小文件大小,似乎PdfSmartCopy是只有可行的选择,除非我错过了什么。

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

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

1 个答案:

答案 0 :(得分:4)

在我对您提到的问题的回答中,我解释了如何使用PdfStamper将空白页插入现有PDF。这对您没有帮助,因为您使用的是PdfSmartCopyPdfCopy的扩展名。

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

copy.addPage(PageSize.A4, 0);

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

copy.addPage(reader.getPageSize(1), reader.getPageRotation(1));

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