如何在没有首页 itext 7 的情况下添加页眉

How to add page header without first page itext 7

我在 Text 7 中使用 pdfHTMl 创建了文档。我想为没有第一页的每个页面添加页眉。我使用了 PdfDocumentEvent.END_PAGE 事件。但它适用于第一页的每一页。如何从第一页中删除页眉? 谢谢。

这是添加 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();
    }
}

由于 if (pageNumber == 1) return; 将不会添加任何 header。所以没有必要删除 header。正如您在屏幕截图中所看到的,第一页上没有 header,但随后的每一页上都有一个 header。