2017-02-07 5 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>タグを使用している場合、コメントは、Visual Studio IntelliSenseに表示されます。

関連する問題