逐页复制,使用iTextsharp在两者之间插入空白页

时间:2014-04-04 20:41:59

标签: c# .net itextsharp itext

如何在每个页面之间添加新页面,然后复制到新PDF。我知道我遗漏了一些基本的东西,但似乎并没有把它正确地弄下来。

        int n = pdfReaderInput.NumberOfPages;
        Document document = new Document(); 

        PdfCopy copy = new PdfCopy(document, new FileStream(tempFile, FileMode.OpenOrCreate)); 
        document.Open();
        for (int i = 0; i < n; )
        {
            copy.AddPage(copy.GetImportedPage(pdfReaderInput, ++i));
        }

        document.Close();

        return tempFile;

我理解并知道这是错的,但我不确定我需要做什么。基本上,我在每页之间添加一个空白的pdf。提前谢谢!

1 个答案:

答案 0 :(得分:7)

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

copy.addPage(PageSize.A4, 0);

在这种情况下,将添加尺寸为A4的页面。如果您想确保空白页面与文档中的其他页面具有相同的尺寸(例如第1页),您可以执行以下操作:

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

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

更新:我现在看到您使用[itext]和[itextsharp]标记标记了您的问题。我使用Java代码在[itext]标签下回答了它。不言而喻,这个答案对iTextSharp也有效,但您需要对语法进行一些小的更新,例如将addPage()更改为AddPage()