在下面的代码中,您可以看到我覆盖OnEndPage
事件,并尝试在文档中添加一个段落。但是,我得到了一个" System.StackOverflowException"尝试运行代码时出错。
有谁知道为什么会这样,我该如何解决?
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
Paragraph p = new Paragraph("Paragraph");
document.Add(p);
}
答案 0 :(得分:2)
禁止在页面事件中使用document.Add()
。作为参数传递的document
对象实际上是PdfDocument
对象。您应该仅将其用于只读目的。这在我的书iText in Action - Second Edition中有记载。
如果您想在OnEndPage
方法中添加内容,则需要writer
,例如writer.DirectContent
。