iTextSharp でPDFを作成しようとしていて、丁寧に Close メソッドを呼び出したところ、System.ObjectDisposedException (既にオブジェクトは破棄)が発生する…
よくよく調べてたら PdfWriter のインスタンスではなく、Document のインスタンスを CloseDocument する必要があった。Close ではなく、CloseDocument。
var doc = new Document(); var writer = PdfWriter.GetInstance(doc, ... ); //// ダメな例 //writer.Close(); // OKな例 doc.CloseDocument();
StreamWriter とかをよく使っていると、なんとなくPdfWriterをCloseしてしまう。
なお、CloseDocument の代わりに Close を使うと「Already Closed」のエラーが発生する。