PowerPointファイルをC#でマージする

PowerPointプレゼンテーションのマージは、複数のPPT / PPTXのコンテンツを結合したり、2人以上で作成した単一のプレゼンテーションの一部をマージしたりするなど、さまざまなシナリオで役立ちます。コンテンツを手動でコピー/貼り付けする方法は、取引時に適さない場合があります。いくつかのプレゼンテーションで。したがって、この記事では、.NET開発者がC#を使用してPowerPointプレゼンテーションをプログラムでマージする方法を学習できます。

.NET PowerPoint Merger API

Aspose.Slides for .NETは、プレゼンテーションドキュメントを作成および操作できる機能豊富な.NETPowerPointAPIです。それに加えて、C#またはVB.NETを使用して2つ以上のPowerPointプレゼンテーションを組み合わせることができます。 APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

C#を使用してPowerPointプレゼンテーションをマージする

このセクションでは、あるPowerPointプレゼンテーションから別のプレゼンテーションにすべてのスライドを複製してマージする方法を学習します。このために、ソースプレゼンテーションからスライドを複製し、ターゲットプレゼンテーションの最後に追加するだけです。以下は、2つのプレゼンテーションをマージする手順です。

  • Presentationクラスのオブジェクトを作成して、ターゲットのプレゼンテーションファイルをロードします。
  • 別のPresentationオブジェクトを作成して、スライドのクローンを作成する場所からソースプレゼンテーションをロードします。
  • Presentation.Slidesプロパティを使用して、ソースプレゼンテーションからスライドのコレクションにアクセスします。
  • スライドコレクションをループし、Presentation.Slides.AddClone(ISlide)メソッドを使用してそれらをターゲットプレゼンテーションにマージします。
  • Presentation.Save(string, SaveFormat)メソッドを使用して、マージされたプレゼンテーションを保存します。

次のコードサンプルは、C#を使用して2つのPowerPointプレゼンテーションをマージする方法を示しています。

// ターゲットプレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // ソースプレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		foreach (ISlide slide in presentation2.Slides)
		{
      // スライドをソースからターゲットにマージする 
			presentation1.Slides.AddClone(slide);
		}
	}
  // プレゼンテーションを保存する
	presentation1.Save("merged-presentation.pptx", Export.SaveFormat.Pptx);
}

ターゲットプレゼンテーション

ターゲットパワーポイントのプレゼンテーション

ソースプレゼンテーション

マージされるソースパワーポイントのプレゼンテーション

統合されたプレゼンテーション

パワーポイントのプレゼンテーションをマージするC#

C#を使用してPowerPointプレゼンテーションの特定のスライドをマージする

前の例では、ソースPPTXファイルのすべてのスライドをターゲットPPTXにマージしました。ただし、選択したスライドのみをマージする必要がある場合があります。このような場合、スライドのインデックスを使用して、マージするスライドを指定できます。この操作を実行する手順は次のとおりです。

  • Presentationクラスを使用してターゲットプレゼンテーションをロードします。
  • Presentationクラスを使用してソースプレゼンテーションをロードします。
  • present1.Slides.AddClone(presentation2.Slides[int Index])メソッドを使用して、目的のスライドのクローンを作成します。
  • マージされたプレゼンテーションを新しいPPTXファイルとして保存します。

次のコードサンプルは、C#を使用してプレゼンテーションの特定のスライドをマージする方法を示しています。

// ターゲットプレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // ソースプレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// プレゼンテーション2のスライドのみをマージします(最初のスライドは0インデックスにあります)
		for (int i = 1; i <= presentation2.Slides.Count; i = i + 2)
		{
			presentation1.Slides.AddClone(presentation2.Slides[i]);
		}
	}
	presentation1.Save("merged-presentation-even.pptx", Export.SaveFormat.Pptx);
}

統合されたプレゼンテーション

C#を使用してパワーポイントのプレゼンテーションをマージ

PowerPointプレゼンテーションをマージするときにスライドマスターを使用する

前の両方の例では、ソースプレゼンテーションのデザインとテンプレートを保持したままスライドをマージしました。ただし、場合によっては、対象のプレゼンテーションに応じてスライドのレイアウトを変更する必要があります。このような場合は、オーバーロードされた[presentation1.Slides.AddClone(presentation2.Slides1, presentation1.Masters[0], true)]12メソッドを使用できます。

次のコードサンプルは、C#のスライドマスターを使用してPowerPointプレゼンテーションのスライドをマージする方法を示しています。

// ターゲットプレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // ソースプレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// スライドマスターのみを使用して最初の2つのスライドをマージします
		presentation1.Slides.AddClone(presentation2.Slides[0], presentation1.Masters[0], true);
		presentation1.Slides.AddClone(presentation2.Slides[1], presentation1.Masters[0], true);
	}
	presentation1.Save("merged-presentation-master.pptx", Export.SaveFormat.Pptx);
}

統合されたプレゼンテーション

C#を使用したパワーポイントの組み合わせプレゼンテーション

結論

この記事では、C#を使用して2つまたは複数のPowerPointプレゼンテーションをマージする方法を学習しました。 VB.NETを使用してプレゼンテーションをマージするために、C#コードサンプルを移植できます。 Asposeの.NETPowerPointAPIについて詳しく知りたい場合は、ドキュメントにアクセスしてください。

関連項目

ヒント:AsposeのAPIで開発されたプレゼンテーション用のWebビューアアプリを試してみることをお勧めします。