Why do I get a StackOverflowException in the OnEndPage() event handler?
In the code below, you can see that I've overridden the OnEndPage
event and tried to add a paragraph to the document. However, I get a System.StackOverflowException
error when attempting to run the code. Does anyone have any idea why this is happening and how I can fix it?
public override void OnEndPage(PdfWriter writer, Document document) { base.OnEndPage(writer, document); Paragraph p = new Paragraph("Paragraph"); document.Add(p); }
Posted on StackOverflow on Jun 18, 2014 by Ognjen Koprivica
It is forbidden to use document.Add()
in a page event. The document
object passed as a parameter is actually a PdfDocument
object. It is not the Document
you have created in your code, but an internal object that is used by iText. You should use it for read-only purposes only.
If you want to add content in the OnEndPage()
method, you need the writer
, for instance writer.DirectContent
.