Office Automation を使用して PowerPoint プレゼンテーションを自動的に生成することは可能ですが、これをサーバーで使用することはお勧めしません。Office Automation を使用せずに PowerPoint プレゼンテーションを生成するにはどうすればよいでしょうか。
3 に答える
言及されなかったもう 1 つのオプションは、Office 2007 および Office XP で互換性パックを介して単純にサポートされているOpen XMLファイル形式を利用することです。Open XML SDK 1.0を使用して何かを機能させることは、驚くほど簡単であることがわかりました。
まず、置き換えが必要なコンテンツの代わりにトークンを配置した汎用テンプレート ファイルを用意しました。次に、DocumentFormat.OpenXml への参照をプロジェクトに追加する必要があります。コード自体は、DocumentFormat.OpenXml および DocumentFormat.OpenXml.Packaging 名前空間を参照します。最後に、スライドをループするコードは次のようになります。
// Open the presentation
PresentationDocument presentation = PresentationDocument.Open(fileName, true);
// Loop through all of the slides in the presentation
foreach (SlidePart slide in presentation.PresentationPart.SlideParts)
{
// Read the XML out of the slide
XmlDocument xml = new XmlDocument();
xml.Load(slide.GetStream());
// TODO: Your XML manipulation code here
// Save the updated slide
xml.Save(slide.GetStream());
}
// Save the updated presentation
presentation.Close();
PowerPoint形式のドキュメントを生成できるライブラリを使用するサーバー側のコードを作成できます。たとえば、Javaでは、ApachePOI-HSLFを使用してプログラムでPPTファイルを生成できます。
何をする必要があるかによっては、「テンプレート」PPTファイルから始めて、コンテンツを挿入または編集するようにプログラムで変更する方が作業が少ない場合があります。
サーバー側のテクノロジが ASP.NET の場合、Aspose.Slidesを使用できます。これは非常に強力でうまく機能しますが、目的によっては費用対効果の高いソリューションではない場合があります。