私は、C# を使用してサーバー上で PowerPoint ファイルを生成できる機能を任されました。基本的には、テンプレートから始めて、プログラムでテキストをデータベースからのライブ データに置き換えます。私は過去 1 日間、この分野についていくつかの調査を行ってきましたが、次のことがわかりました。
PowerPoint にはこのような機能が組み込まれているため、外部データ ソースに接続してデータを取り込むことができます。私が見つけたほとんどの例では、サーバー上で行われる PowerPoint オートメーションを使用するか (私はこれに反対するようにアドバイスされています)、SQL Server バックエンドを想定しています。当社では、RDMS のニーズに Oracle を使用しています。Oracle には、Oracle BI と呼ばれるこれに対するソリューションがありますが、さまざまな Java EE コンポーネントなどを実行するには、まったく新しい Web サーバーのセットアップが必要です。価格は見ていませんが、オラクルを知ると安くはありません。また、エンド ユーザーのマシンに新しいソフトウェアをインストールする必要がありますが、これは本当に避けたいことです。
その場で PowerPoint ファイルを生成することが可能です。基本的にこの問題を解決する頼りになる会社 (すべてのヘルプ フォーラムが指摘し、絶賛されている) はAsposeです。これらには、考えられるほぼすべての Office 形式を処理するための .NET コンポーネントがあります。問題は、それらが天文学的に高価であることです。PowerPoint コンポーネント (最大 10 人の開発者向けのサイト ライセンス) だけでも 3,995 ドルかかります。
3 つ目の可能性は、社内でソリューションを生成することです。結局のところ、PPTX ファイルは単なる xml ですよね? よく見ると、PPTX は gzip アーカイブのようです。これには多数のフォルダーが含まれており、それぞれに多数の XML ファイルが含まれています。PPTX ファイルを変更すると、ファイルを一時ディレクトリに解凍し、XML ファイルを読み取って内容を変更し、すべてを再度パッケージ化して、ファイルを応答ストリームに書き出す必要があります。おそらく、すべてを抽出することなく、オンザフライで gzip ストリームを処理できるライブラリがあるでしょう。
私の質問:圧縮された XML ファイルを操作したり、非常に高価なソフトウェアを購入したりする必要がない、.NET を使用して PPTX ファイルを操作する簡単な方法はありますか? 基本的に、PowerPoint ファイルを変更し、テキストを変更して、ユーザーがその生成されたファイルを Web サーバーからダウンロードできるようにする必要があります。