使用 itext 在 PDF 中添加新页面

Adding a new page in PDF using itext 7

我正在尝试使用带有以下代码的 iText 7 创建 PDF 文档,并且我的 PDF 文档内容在生成时重叠在同一页面中。(即在第 1 页中)。

我看到了

document.newPage();

iText 7 中缺少该方法。如何在不使用 pdfDocumet.copyPages(...) 或 itext 7 中的 PDFmerger 的情况下向我的 PDF 文档添加页面。

        PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));      
        pdfDoc.addNewPage();
        Document PageOnedocument = new Document(pdfDoc,PageSize.A4);            
        addPageOneContents(PageOnedocument);  


        pdfDoc.addNewPage();
        Document PageTwodocument = new Document(pdfDoc,PageSize.A4);            
        addPageTwoContents(PageTwodocument);  

        pdfDoc.close();
        PageOnedocument.close();
        PageTwodocument.close();

在 iText 7 中,newPage 方法已成为区域中断的特例:

Document document = ...;
[....add some content...]
document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
[...add some content on next page...]

如果您正在使用 C# 并重构引用 iText 5 的代码(就像我一样),请尝试将 iText 7 方法置于覆盖中。

public static class Itext7DocumentExtensions
{
    public static void NewPage(this Document document)
    {
        document.Add(new AreaBreak(AreaBreakType.NEXT_PAGE));
    }
}

现在您可以拨打document.NewPage();