I created document using pdfHTMl in Text 7. I want to add page header for every pages without first page. I used PdfDocumentEvent.END_PAGE event. But it applies for every pages with first page. How to remove page header from the first page? Thank You.
Asked
Active
Viewed 2,166 times
0
-
1Check for the page number in your event handler. If the page number is 1, don't add the header. Show us your code, that will make is easier for us to explain what you're overlooking. – Bruno Lowagie Jul 05 '18 at 07:03
-
1For some inspiration concerning dynamic headers, you might want to look at [this answer](https://stackoverflow.com/a/50254294/1729265) and [this answer](https://stackoverflow.com/a/50486934/1729265). If you want more specific help, you should share your current pivotal code (as @Bruno has already said). – mkl Jul 05 '18 at 13:00
1 Answers
2
This is an example of an event handler that adds a header:
protected class MyEventHandler implements IEventHandler {
PdfFont helvetica;
public MyEventHandler() throws IOException {
helvetica = PdfFontFactory.createFont();
}
public void handleEvent(Event event) {
PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
PdfDocument pdfDoc = docEvent.getDocument();
PdfPage page = docEvent.getPage();
Rectangle pageSize = page.getPageSize();
int pageNumber = pdfDoc.getPageNumber(page);
if (pageNumber == 1) return;
PdfCanvas pdfCanvas = new PdfCanvas(
page.newContentStreamBefore(), page.getResources(), pdfDoc);
pdfCanvas.beginText()
.setFontAndSize(helvetica, 9)
.moveText(pageSize.getWidth() / 2 - 30, pageSize.getTop() - 20)
.showText("THIS IS A HEADER!")
.endText();
pdfCanvas.release();
}
}
Because of the if (pageNumber == 1) return;
there won't be any header added. so there's no need to remove the header. As you can see in the screen shot, there is no header on page one, but a header on each following page.

Bruno Lowagie
- 75,994
- 9
- 109
- 165