私は PowerPoint デッキを生成し、それらをその場でマージし、結果のコンテンツを HttpResponse オブジェクト経由でストリーミングしています。
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.AppendHeader("Content-Type", "application/vnd.ms-powerpoint");
response.AppendHeader("Content-Disposition", "attachment;filename=MasterPresentation.pptx;");
response.BinaryWrite(masterPresentation.ToArray());
response.Flush();
response.Close();
masterPresentationは MemoryStream オブジェクトです。ダウンロードしたプレゼンテーションを PowerPoint で開くと、次のメッセージが表示されます。
PowerPoint は、MasterPresentation.pptx のコンテンツに問題を検出しました。PowerPoint は、プレゼンテーションの修復を試みることができます。
修復すると、コンテンツの破損はまったくなく、すべて問題ないようです。