如何在每个页面之间添加新页面,然后复制到新的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。提前致谢!

最佳答案

使用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()

10-08 00:09