2017-02-07 3 views
1

에 ItextSharp 5.5.10 사용하여이 코드 PageEvent를 첨부 할 수 없습니다. "개체의 현재 상태 때문에 작업이 유효하지 않습니다" iTextSharp하십시오 PdfSmartCopy 작가

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"를 지정할 때 (매개 변수없는 새 Document()를 수행 할 때도 실패합니다).

이 코드가 완벽하게 작동

:

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

어떤 생각?

답변

1

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를 개발 팀에 - XML Documentation Comments 대신 현재 스타일로 사용되는 <summary> 태그를 사용하는 경우, 의견은 비주얼 스튜디오 IntelliSense에 표시됩니다.