“OnEndPage”事件处理程序中的“’System.StackOverflowException”

在下面的代码中,您可以看到我覆盖了OnEndPage事件并尝试在文档中添加一个段落。 但是,尝试运行代码时出现“System.StackOverflowException”错误。 有谁知道为什么会这样,我该如何解决?

 public override void OnEndPage(PdfWriter writer, Document document) { base.OnEndPage(writer, document); Paragraph p = new Paragraph("Paragraph"); document.Add(p); } 

禁止在页面事件中使用document.Add() 。 作为参数传递的document对象实际上是PdfDocument对象。 您应该仅将其用于只读目的。 这在我的书iText in Action – Second Edition中有记载。

如果要在OnEndPage方法中添加内容,则需要writer.DirectContent ,例如writer.DirectContent