在您引用的示例中,您有一个 ITextEvents 类,其用法如下:
pdfWriter.PageEvent = new Common.ITextEvents();
这很奇怪,因为这种方式,没有设置header,也无法设置。
您需要像这样创建一个ITextEvents 实例:
Common.ITextEvents event = new Common.ITextEvents();
event.Header = "My custom header";
pdfWriter.PageEvent = event;
在创建文档时,如果您不希望每个页面都具有相同的标题,则可以更改标题。
重要:
你提到的例子有很多陷阱。例如,它添加如下文本:
cb.BeginText();
cb.SetFontAndSize(bf, 12);
cb.SetTextMatrix(
document.PageSize.GetRight(200), document.PageSize.GetTop(45));
cb.ShowText(header);
cb.EndText();
您确定要添加这样的文字吗?此代码 sn-p 有效,但仅适用于 PDF 专家。
我认为您更愿意将这六行简化为:
Phrase text = new Phrase(header);
ColumnText.ShowTextAligned(cb, Element.ALIGN_LEFT, text,
document.PageSize.GetRight(200), document.PageSize.GetTop(45), 0);
了解ShowTextAligned()方法比了解BeginText()、SetFontAndSize()、SetTextMatrix()、ShowText()和EndText()等文本图形方法要容易得多。
我为您担心,因为您似乎在不知道自己在做什么的情况下从其他人那里复制/粘贴代码。我强烈建议您阅读the official web site 上提供的一些文档。如果您刚开始使用 iText,您可能还应该开始使用 iText 7 for C# 而不是 iTextSharp 5。