Itext 是否可以将页码包含在OneDPage事件中

Itext 是否可以将页码包含在OneDPage事件中,itext,Itext,我正在浏览新的itextpdf网站上的更多示例…(顺便说一句,做得不错)我通常会在页眉和页脚中添加页码,作为文档完成后的第二次浏览 有没有办法在页眉或页脚中动态添加页码作为onendpage事件 显然,这可以通过对document.addPage()使用计数器来实现,但如果给定一个大文本块,文本可能会自行创建新页面,因此这将不起作用。非常感谢您对新网站的评论 您确实可以在onedpage()方法中获取当前页码,并将其添加到文档中。请看一看这个例子,或者更好的例子 请允许我简化这些示例的onEnd

我正在浏览新的itextpdf网站上的更多示例…(顺便说一句,做得不错)我通常会在页眉和页脚中添加页码,作为文档完成后的第二次浏览

有没有办法在页眉或页脚中动态添加页码作为onendpage事件


显然,这可以通过对document.addPage()使用计数器来实现,但如果给定一个大文本块,文本可能会自行创建新页面,因此这将不起作用。

非常感谢您对新网站的评论

您确实可以在
onedpage()
方法中获取当前页码,并将其添加到文档中。请看一看这个例子,或者更好的例子

请允许我简化这些示例的
onEndPage()
方法:

public void onEndPage(PdfWriter writer, Document document) {
    Rectangle rect = writer.getPageSize();
    ColumnText.showTextAligned(writer.getDirectContent(),
        Element.ALIGN_CENTER, new Phrase(
            String.format("page %d", writer.getPageNumber())),
            (rect.getLeft() + rect.getRight()) / 2, rect.getBottom() - 18, 0);
}

在此代码段中,
writer.getPageNumber()
将为您提供当前页码。我将它添加到页面中间底部。

感谢指针,因此我看到通过获取DirectContent,它已经知道哪个是当前页码。一如既往,你的答案既是解决方案,也是进一步学习和探索的地方。。。