我们正在使用itext 2.1.7,我们需要在每个pdf页面的页脚中写“总页数”。
我们正在使用PdfPageEventHelper
类的事件在PDF文档的每一页上编写页脚。
将内容写入pdf和页脚的过程是同时进行的。要找出文档控制的总页数需要达到PDF文档的末尾,因此我们需要一种方法来重写页脚,或者仅在PDF准备就绪时才编写页脚。
public void onEndPage(PdfWriter pdfWriter, Document document) {
System.out.println("onEndPage() method > Writing footer in file");
Rectangle rect = pdfWriter.getBoxSize("rectangle");
ColumnText.showTextAligned(pdfWriter.getDirectContent(),
Element.ALIGN_CENTER, new Phrase("Page Number "+pdfWriter.getCurrentPageNumber()),
rect.getRight() / 2, rect.getBottom(), 0);
}
预期输出为7的第1页(总页数),但实际输出为1的1。