Мы используем 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);
}
Ожидаемый результат - страница номер 1 из 7 (общее количество страниц), но фактический результат - 1 из 1.