如何在没有首页 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。
我在 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。