Java создать PDF с верхним и нижним колонтитулом - PullRequest
1 голос
/ 05 апреля 2011

Я создаю pdf-файл (используя iText) и хочу добавить на каждую страницу, чтобы генерировалось изображение в левом верхнем углу страницы и номер страницы в центре внизу страницы.

Как это можно сделать?примеры будут действительно оценены.

Заранее благодарен.

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Взгляните на пример здесь: http://www.coderanch.com/how-to/java/ItextExample

Есть 2 версии одного и того же примера. Первый из iText2. Это версия, с которой я знаком, добавить заголовок / нижний колонтитул очень просто

HeaderFooter footer = new HeaderFooter( new Phrase("This is my footer") );
document.setFooter(footer);

В более поздней версии iText5 это, похоже, значительно изменилось. Ссылка выше показывает

HeaderFooter event = new HeaderFooter();
writer.setPageEvent(event);

В этом случае, вместо того, чтобы HeaderFooter был частью инфраструктуры iText, это созданный пользователем класс, который расширяет PdfPageEventHelper. Так что вы можете изменить это на то, что вам нужно

1 голос
/ 05 апреля 2011

Вы хотите расширить com.lowagie.text.pdf.PdfPageEventHelper и реализовать следующее:

public void onStartPage(PdfWriter pdfwriter, Document document)

public void onEndPage(PdfWriter pdfwriter, Document document)

Затем установите событие страницы на вашем PdfWriter:

PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream);
pdfWriter.setPageEvent(new YourPageEventClassGoesHere());
...