PdfPageEventHelper в iText

Я создаю PDF, где заголовок каждой страницы PDF будет настроен на основе номера текущей страницы. Например, на 1-й странице заголовок «Первая страница», а на 2-й странице заголовок «Вторая страница» и т. Д.

Что мы делаем сейчас, так это добавляем заголовок в PdfPTable, затем добавляем еще много других вещей в PdfPTable, поэтому этот PdfPTable содержит несколько страниц данных. Наконец, мы добавляем этот большой объект PdfPTable в документ. Теперь мы хотим использовать метод onStartPage () в PdfPageEventHelper, чтобы получить номер текущей страницы, чтобы мы могли настроить заголовок для каждой страницы.

Проблема в том, что onStartPage () не срабатывает до тех пор, пока мы не добавим этот большой объект PdfPTable в документ, что означает, что мы не можем создать пакет ресурсов для загрузки различных значений ключа до того, как объект PdfPTable будет добавлен в документ, верно? Любое предложение, чтобы понять это?

-------------------- у нас есть коды, как показано ниже ------------------------- ------------

  Phrase title = new Phrase();
  title.add(new Chunk(bundle.getString(pdfNewPageEventHandler.getKey()), headerFont));
  PdfPCell cell = new PdfPCell(new Paragraph(
            new Phrase(title)));
  .........
  PdfPTable table = new PdfPTable(tableSize);
  table.addCell(cell);
  .........
  document.add(table);




private class PdfNewPageEventHandler extends PdfPageEventHelper {

    private int currentPageNum = 0;
    private String key;

    @Override
    public void onStartPage(PdfWriter writer, Document document) {

        currentPageNum = currentPageNum + 1;

        if (currentPageNum == 1) {
            key = "firstPage";
        } 
        else if (currentPageNum == 2) {
            key = "secondPage";
        }

    }

    public String getKey() {
        return key;
    }

}

Ответы на вопрос(1)

Ваш ответ на вопрос