使用 itext 7 在 PDF 中添加新页面

2022-09-01 20:15:19

我正在尝试使用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();

答案 1

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

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

答案 2

如果您使用的是 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();


推荐