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

时间:2018-07-05 05:44:16

标签: c# itext7

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

1 个答案:

答案 0 :(得分:0)

这是添加标头的事件处理程序的示例:

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;不会添加任何标题。因此无需删除标题。从屏幕快照中可以看到,第一页上没有标题,但随后的每一页上都有标题。

enter image description here