このループ内で根本的に間違ったことをしています。ループを初めて通過するとき、ストリームは正常に動作しますが、その後ループを通過すると、ストリームが破損して失敗します。私はおそらく何か愚かなことをしていることを知っています。毎回 updateTemplate を 0 に設定しようとしましたが、InputStream はシークをサポートしていません。ここでは基本的に、入力された複数のフォームを List に追加しています。特にパフォーマンスが向上するような提案をいただければ幸いです。
...
files.Add(PDFhelper.fillTemplate(template, mappings));
foreach (Update u in myObject.Updates)
{
mappings = this.GenerateFieldMappings(u);
Stream output = new MemoryStream();
template.CopyTo(output);
files.Add(PDFhelper.fillTemplate(output, mappings)); //First time stream is good
}
return PDFhelper.MergeFiles(files);
...