テンプレートからPowerPoint PPTXを生成する無料のC# .NETライブラリ
オープンソースのC# .NET PPTX APIは、テンプレートからPowerPointプレゼンテーション(.pptx)を動的に生成できます。テキストや画像の置換、スライドの追加/削除、クローンをC#アプリで行えます。
PPTXTemplaterとは何ですか?
手作業で無数の PowerPoint プレゼンテーションを作成・更新するのに疲れていませんか?アプリケーションで動的かつデータ駆動型の .pptx ファイルを生成する必要がある場合、従来はプログラムで行うことが複雑で苛立たしい作業でした。PPTX コンテナ内の XML を手動で操作するのは悪夢であり、開発者はスライドをコピーしたり、制御が難しい COM オブジェクトを使用したりと、不格好な方法に頼りがちです。PowerPoint 自体で美しいテンプレートをデザインし、シンプルで軽量、かつ純粋にプログラムだけでデータを埋め込めたらどうでしょうか?そこで登場するのが PPTXTemplater です。これは PowerPoint 自動化の常識を変える、画期的なオープンソースプロジェクトです。
PPTXTemplater は、事前に定義されたテンプレートに基づいて PowerPoint (.pptx) ファイルをプログラムで生成・管理できる C# ライブラリです。PPTXTemplater を活用し、PowerPoint ドキュメントの操作という本来複雑な作業を簡素化する上位レベルの抽象化を提供します。基本的な考え方は、プレースホルダー付きのテンプレートを作成し、PPTXTemplater を使ってそのプレースホルダーにデータを埋め込むことで、レポート、証明書、提案書などの生成に最適なソリューションとなります。
PPTXTemplaterの開始方法
PPTXTemplater の推奨インストール方法は GitHub を使用することです。スムーズなインストールのために、以下のコマンドをご利用ください。
GitHub から PPTXTemplater をインストール
git clone https://github.com/tkrotoff/PptxTemplater.gitC#によるテンプレートベースのPPTXファイル生成
PptxTemplater の基盤はテンプレートベースのアプローチです。まず、標準的な PowerPoint プレゼンテーションを作成し、それをテンプレートとして使用します。このテンプレート内では、通常 {{placeholder_name}} のようなシンプルで直感的な構文を使って動的コンテンツ用のプレースホルダーを定義できます。これにより、PowerPoint 上でスライドをデザインでき、プレゼンテーションのビジュアル面を完全にコントロールできます。以下は、C# ライブラリを使用して 2 枚のスライドを持つ PowerPoint テンプレートを作成する簡単な例ですか?
C# ライブラリを使用して、スライドが 2 枚の PowerPoint テンプレートを作成する方法は?
const string srcFileName = "template.pptx";
const string dstFileName = "final.pptx";
File.Delete(dstFileName);
File.Copy(srcFileName, dstFileName);
Pptx pptx = new Pptx(dstFileName, FileAccess.ReadWrite);
int nbSlides = pptx.SlidesCount();
Assert.AreEqual(2, nbSlides);
// First slide
{
PptxSlide slide = pptx.GetSlide(0);
slide.ReplaceTag("{{hello}}", "HELLO HOW ARE YOU?", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{bonjour}}", "BONJOUR TOUT LE MONDE", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{hola}}", "HOLA MAMA QUE TAL?", PptxSlide.ReplacementType.Global);
}
// Second slide
{
PptxSlide slide = pptx.GetSlide(1);
slide.ReplaceTag("{{hello}}", "H", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{bonjour}}", "B", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{hola}}", "H", PptxSlide.ReplacementType.Global);
}
C#でのPPTXプレゼンテーションのテキスト置換
PptxTemplater の最も基本的な機能の一つは、テキストプレースホルダーをデータで置き換える能力です。これは、名前、日付、数値、その他のテキスト情報でプレゼンテーションをパーソナライズする際に非常に便利です。以下は、ソフトウェア開発者が C# .NET アプリケーション内で PPTX プレゼンテーションのテキストを置き換える方法を示す簡単な例です。
C# ライブラリを使用して PPTX プレゼンテーション内のテキストを置換する方法は?
using PptxTemplater;
// Load the template
using (var presentation = new Presentation("template.pptx"))
{
// Define the data
var data = new Dictionary
{
{ "name", "John Doe" },
{ "date", DateTime.Now.ToShortDateString() }
};
// Fill the template
presentation.Fill(data);
// Save the new presentation
presentation.SaveAs("output.pptx");
}
C#でのPPTXプレゼンテーションの画像置換
オープンソースの PptxTemplater ライブラリはテキストだけに限定されません。ソフトウェア開発者は、数行のコードでテンプレート内の画像を置き換えることもできます。これは、製品カタログ、従業員バッジ、または動的画像が必要なその他のプレゼンテーションを生成する際に特に有用です。以下は PPTX プレゼンテーション内の画像を置き換える簡単な例です。画像を置き換えるには、まずテンプレートにプレースホルダー画像を追加し、特定の名前(例: "photo1")を付ける必要があります。
C# ライブラリを使用して PPTX プレゼンテーション内のテキストを置換する方法は?
// Assuming you have a slide with an image named "photo1"
var slide = presentation.Slides[0];
slide.ReplacePicture("photo1", "new_image.png");
C#でスライドを追加、削除、またはクローン
オープンソースの PptxTemplater ライブラリは、プレゼンテーションのスライドに対して細かな制御を提供します。データに基づいて不要なスライドを削除したり、動的なセクションを作成するために既存のスライドを複製したりできます。さらに、新しいスライドを追加したり、不要なスライドを削除することも可能です。以下の例は、C# アプリケーション内でスライドを複製または削除する方法を示しています。
C# ライブラリを使用して PPTX プレゼンテーション内のスライドを複製または削除する方法は?
/// Clone a slide
var newSlide = presentation.CloneSlide(0);
// Remove a slide
presentation.RemoveSlide(1);