PPTX をマージする C#

複数の PowerPoint プレゼンテーションを結合することは、特に異なるプレゼンテーションを 1 つのファイルに統合する場合によく必要になります。さまざまな投稿者のスライドを組み合わせる場合でも、複数のプロジェクト更新を 1 つのまとまったデッキに統合する場合でも、PPTX ファイルを結合すると時間を節約し、整理しやすくなります。このブログ投稿では、C# で PPTX ファイルを結合する 2 つの方法について説明します。まず、PPTX ファイルをディスクから直接結合する方法を示し、次にメモリ ストリームを使用してプレゼンテーションを結合する方法を示します。

PPTX プレゼンテーションを結合する理由

  • コラボレーション: さまざまなチーム メンバーのスライドを 1 つのファイルに簡単に統合します。
  • 効率: マージ プロセスを自動化し、手動でのコピー アンド ペーストの作業を減らして時間を節約します。
  • 統合: 複数のプレゼンテーションを 1 つに結合して、情報共有を効率化します。
  • 一貫性: すべてのプレゼンテーションが同じテンプレートとデザインに準拠していることを確認します。

C# でプレゼンテーション スライドを結合する - API のインストール

New Releases セクションから DLL ファイルをダウンロードするか、以下の NuGet インストール コマンドを使用して Conholdate.Total for .NET を構成する必要があります。

PM> NuGet\Install-Package Conholdate.Total

C# で PPTX スライドを結合する

このセクションでは、C# で 2 つの PPTX ファイルを結合する方法を説明します。この方法は簡単で、ディスクからファイルを読み込み、結合し、結果を新しいファイルとして保存します。

  • ソース ファイルをロードします。Merger クラスは最初の PPTX ファイルをロードするために使用されます。
  • 別のファイルの追加: Join メソッドは、別の PPTX ファイルをマージに追加するために呼び出されます。
  • 結合されたファイルを保存する: 最後に、Save メソッドはファイルを結合し、結果をプレゼンテーション ファイルとして保存します。

以下のサンプル コードは、C# で PPTX ファイルを結合する方法を示しています。

// ソースPPTXファイルを読み込む
using (GroupDocs.Merger.Merger merger = new GroupDocs.Merger.Merger("sample1.ppt"))
{
    // 結合する別のPPTXファイルを追加する
    merger.Join("sample2.ppt");
    // PPTXファイルを結合して結果を保存する
    merger.Save("mergedPPTX.ppt");
}

C# でメモリ ストリームを使用して PPTX プレゼンテーションを結合する

特にデータベースや Web サービスからファイルを取得する場合など、ストリームを操作するシナリオでは、PPTX プレゼンテーションをディスクに保存せずに結合したい場合があります。このアプローチでは、メモリ ストリームを使用して同じ目的を達成します。

  • メモリ ストリームを準備する: PPTX ファイルをメモリ ストリームに読み込みます。
  • PPTX ストリームのロード: Merger クラスは、最初のメモリ ストリームと適切なロード オプションを使用して初期化されます。
  • PPTX ストリームの結合: Join メソッドは、2 番目のメモリ ストリームを最初のストリームにマージするために呼び出されます。
  • 結合されたファイルを保存する: 結合されたプレゼンテーションは新しい PPTX ファイルとして保存されます。

次のサンプル コードは、メモリ ストリームを使用して C# で PowerPoint プレゼンテーション ファイルを結合する方法を示しています。

string filePath1 = dataDir + "sample1.ppt";
string filePath2 = dataDir + "sample2.ppt";

FileType fileType1 = FileType.FromExtension(Path.GetExtension(filePath1));
FileType fileType2 = FileType.FromExtension(Path.GetExtension(filePath2));

MemoryStream memoryStream1 = new MemoryStream();
using (FileStream fileStream1 = File.OpenRead(filePath1))
{
    fileStream1.CopyTo(memoryStream1);
}

MemoryStream memoryStream2 = new MemoryStream();
using (FileStream fileStream2 = File.OpenRead(filePath2))
{
    fileStream2.CopyTo(memoryStream2);
}

// 定義されたFileTypeによるInit Loadオプション
GroupDocs.Merger.Domain.Options.LoadOptions loadOptions = new GroupDocs.Merger.Domain.Options.LoadOptions(GroupDocs.Merger.Domain.FileType.PPT);

// ソースPPTXストリームをロードする
using (GroupDocs.Merger.Merger merger = new GroupDocs.Merger.Merger(memoryStream1, loadOptions))
{
    // PPTXファイルタイプで結合オプションを定義する
    GroupDocs.Merger.Domain.Options.JoinOptions joinOptions = new GroupDocs.Merger.Domain.Options.JoinOptions(GroupDocs.Merger.Domain.FileType.PPT);
    // マージする別のPPTXストリームを追加する
    merger.Join(memoryStream2, joinOptions);
    // PPTX ストリームを結合して結果を保存する
    merger.Save(dataDir + "streamsmerged.ppt");
}

無料評価ライセンス

無料の一時ライセンスをリクエストして、API のさまざまな機能を最大限に活用することができます。

結論

C# で PPTX ファイルを結合することは、複数のプレゼンテーションを管理するシンプルかつ強力な方法です。ファイル、ファイル ストリームを直接操作する場合でも、より高度なシナリオでメモリ ストリームを使用する場合でも、さまざまな方法でプレゼンテーションを効率的に結合するために必要なツールが提供されます。これらの方法をプロジェクトに組み込むことで、プレゼンテーション管理タスクを効率化できます。ご質問がある場合は、フォーラム までお問い合わせください。

よくある質問

結合された PPTX ファイルは結合後に編集できますか?

はい、結合された PPTX ファイルは完全に編集可能です。PowerPoint または他の互換性のあるアプリケーションで開いて、必要に応じてさらに変更を加えることができます。

異なるレイアウトやテンプレートを持つ PPTX ファイルを結合できますか?

はい、異なるレイアウトやテンプレートを持つ PPTX ファイルを結合できます。結果のファイルにはすべてのプレゼンテーションのスライドが含まれますが、視覚的な一貫性を確保するために後でレイアウトを手動で調整する必要がある場合があります。

スケジュールされたタスクまたはバッチ プロセスを使用して PPTX ファイルの結合を自動化できますか?

はい、提供されたコードをスケジュールされたタスクまたはバッチ プロセスに統合することで、マージ プロセスを自動化できます。これは、週次レポートやプレゼンテーションの統合などの定期的なタスクに特に便利です。

参照