Events iTextSharp:无法在PdfSmartCopy写入程序上附加PageEvent

Events iTextSharp:无法在PdfSmartCopy写入程序上附加PageEvent,events,itext,pdf-writer,Events,Itext,Pdf Writer,此代码使用ItextSharp 5.5.10: var msOutput = new MemoryStream(); var document = new Document(PageSize.A4, 0, 0, 0, 20); var writer = new PdfSmartCopy(document, msOutput); writer.PageEvent = new MyHeaderFooterEvents(); 分配“writer.PageEvent”时抛出“由于对象的当前状态

此代码使用ItextSharp 5.5.10:

 var msOutput = new MemoryStream();
 var document = new Document(PageSize.A4, 0, 0, 0, 20);
 var writer = new PdfSmartCopy(document, msOutput);
 writer.PageEvent = new MyHeaderFooterEvents();
分配“writer.PageEvent”时抛出“由于对象的当前状态,操作无效”。(执行无参数新文档()时也会失败)

当此代码工作正常时:

 var outputStream = new MemoryStream();
 var document = new Document(PageSize.A4, leftMargin, rightMargin, topMargin, bottomMargin);
 var writer = PdfWriter.GetInstance(document, outputStream);
 writer.PageEvent = new MyHeaderFooterEvents();

有什么想法吗?

Pdf[Smart]Copy类是只读的。原始源代码中记录了它:

/// Setting page events isn't possible with Pdf(Smart)Copy.
/// Use the PageStamp class if you want to add content to copied pages.
请注意iText开发团队-如果使用
标记而不是当前样式,则注释将显示在Visual Studio中