PowerPointプレゼンテーションは、会議、プレゼンテーション、ディスカッションなどの多くのシナリオで使用されます。別の人が作成したさまざまなプレゼンテーションがある場合や、さまざまな会議で個別のプレゼンテーションが使用されている場合があります。共有または文書化の目的で、これらのプレゼンテーションをマージする必要がある場合があります。このタスクを手動で行うには時間がかかります。効率的な方法は、これをプログラムで達成することです。この記事では、C++を使用してPowerPointプレゼンテーションをマージする方法を学習します。
- PowerPointプレゼンテーションをマージするためのC++API
- C++を使用してPowerPointプレゼンテーションをマージする
- C++を使用して特定のPowerPointスライドをマージする
- スライドマスターを使用してPowerPointプレゼンテーションをマージする
- 無料ライセンスを取得する
PowerPointプレゼンテーションをマージするためのC++API
Aspose.Slides for C++はC++ライブラリであり、PowerPointプレゼンテーションを操作するための一連の機能を提供します。 APIを使用すると、Microsoft PowerPointを使用せずに、PowerPointプレゼンテーションを作成、変更、および変換できます。さらに、APIは、さまざまなPowerPointファイルをマージする機能を提供します。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.Slides.Cpp
C++を使用してPowerPointプレゼンテーションをマージする
Aspose.Slides forC++を使用して2つのプレゼンテーションをマージするプロセスは簡単です。これを実現するには、両方のプレゼンテーションをロードし、ソースプレゼンテーションスライドをループして、それらのクローンをターゲットプレゼンテーションに追加します。以下は、2つのPowerPointプレゼンテーションをマージする手順です。
- Presentationクラスを使用して宛先のPowerPointファイルをロードします。
- ソースPowerPointファイルを表すPresentationクラスの別のインスタンスを作成します。
- Presentation->get_Slides()メソッドを使用してソースプレゼンテーションからスライドを取得し、それらを繰り返し処理します。
- ループ内で、Presentation->get_Slides()->AddClone(System::SharedPtr sourceSlide)メソッド。
- 最後に、Presentation->Save(System::String name, Export::SaveFormat format)メソッドを使用して、マージされたプレゼンテーションファイルを保存します。
以下は、C++を使用してPowerPointプレゼンテーションをマージするためのサンプルコードです。
// ドキュメントディレクトリへのパス。
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// プレゼンテーションクラスのインスタンス化
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
for (SharedPtr<ISlide> slide : presentation2->get_Slides())
{
// スライドをソースから宛先にマージする
presentation1->get_Slides()->AddClone(slide);
}
// プレゼンテーションを保存する
presentation1->Save(outputFilePath, SaveFormat::Pptx);
次の画像は、ソース、宛先、およびマージされたプレゼンテーションファイルを示しています。
目的地のプレゼンテーション
ソースプレゼンテーション
統合されたプレゼンテーション
C++を使用して特定のPowerPointスライドをマージする
プレゼンテーション全体に興味がなく、代わりにスライドのサブセットを追加したい場合があります。これを実現するには、ソースプレゼンテーションスライドをループしながら必要な条件を追加します。以下は、選択したPowerPointスライドをマージする手順です。
- まず、Presentationクラスを使用して宛先のPowerPointファイルをロードします。
- ソースPowerPointファイルを表すPresentationクラスの別のインスタンスを作成します。
- Presentation->get_Slides()メソッドを使用してソースプレゼンテーションからスライドを取得し、それらを繰り返し処理します。
- ループ内で、Presentation->get_Slides()->AddClone(System::SharedPtr sourceSlide)メソッド。
- 最後に、Presentation->Save(System::String name, Export::SaveFormat format)メソッドを使用して、マージされたプレゼンテーションファイルを保存します。
以下は、C++を使用して選択したPowerPointスライドをマージするためのサンプルコードです。
// ドキュメントディレクトリへのパス。
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
for (int i = 0; i < presentation2->get_Slides()->get_Count(); i++)
{
// スライドだけをマージする
if (i % 2 == 0)
{
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(i));
}
}
// プレゼンテーションを保存する
presentation1->Save(outputFilePath, SaveFormat::Pptx);
次の画像は、マージされたプレゼンテーションファイルを示しています。ソースと宛先のプレゼンテーションファイルは、前の例で使用したものと同じです。
統合されたプレゼンテーション
スライドマスターを使用してPowerPointプレゼンテーションをマージする
前の2つの例では、ソースプレゼンテーションと宛先プレゼンテーションの両方のデザインは同じでした。次の画像は、さまざまなデザインのプレゼンテーションをマージした結果を示しています。
目的地のプレゼンテーション
ソースプレゼンテーション
統合されたプレゼンテーション
マージされたプレゼンテーション画像で、3番目のスライドがマージプロセス中に元のスタイルを保持していることがわかります。ソーススライドで宛先のプレゼンテーションスタイルを使用する場合は、次の手順を使用してください。
- Presentationクラスを使用して宛先のPowerPointファイルをロードします。
- ソースPowerPointファイルを表すPresentationクラスの別のインスタンスを作成します。
- Presentation->get_Slides()->AddClone(System::SharedPtr sourceSlide, System::SharedPtr destMaster, bool allowCloneMissingLayout)メソッド。
- 最後に、Presentation->Save(System::String name, Export::SaveFormat format)メソッドを使用して、マージされたプレゼンテーションファイルを保存します。
以下は、スライドマスターを使用してPowerPointプレゼンテーションをマージするためのサンプルコードです。
// ドキュメントディレクトリへのパス。
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
// スライドマスターを使用して最初のスライドをマージします
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(0), presentation1->get_Masters()->idx_get(0), true);
// プレゼンテーションを保存する
presentation1->Save(outputFilePath, SaveFormat::Pptx);
次の画像は、上記のサンプルコードによって生成されたマージされたプレゼンテーションを示しています。
統合されたプレゼンテーション
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
この記事では、C++を使用して複数のPowerPointプレゼンテーションをマージする方法を学習しました。完全なプレゼンテーションまたは選択したスライドをマージする方法を見てきました。さらに、プレゼンテーションを組み合わせるために宛先プレゼンテーションのスタイルを使用する方法を学習しました。 Aspose.Slides for C++は、PowerPointファイルを操作するための多くの追加機能を提供します。 公式ドキュメントを使用して、APIを詳細に調べることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。