スライドのコピーを作成する必要がある場合があります。たとえば、既存のスライドに似た新しいスライドを作成する必要があります。このような場合、同じプレゼンテーションまたは別のプレゼンテーションでスライドのクローンを作成し、要件に応じて変更することができます。そのために、この記事では、同じPowerPointプレゼンテーション内またはC++を使用して別のPowerPointプレゼンテーションにスライドを複製する方法を説明します。
PowerPointスライドのクローンを作成するためのC++API
Aspose.Slides for C++は、PowerPointプレゼンテーションを操作するためのC++APIです。これにより、追加のソフトウェアを必要とせずに、PowerPointファイルを作成、読み取り、および変更できます。さらに、APIはPowerPointスライドのクローン作成をサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PowerPointプレゼンテーション内でスライドを複製する
スライドをプレゼンテーションの最後または特定の位置に複製できます。次のセクションでは、コードサンプルを使用してこれらのシナリオの両方を検討します。
C++を使用してPowerPointプレゼンテーションの最後にスライドを複製します
以下は、PowerPointプレゼンテーションの最後にスライドを複製する手順です。
- Presentationクラスを使用してPowerPointファイルをロードします。
- Presentation->getSlides()メソッドを使用してスライドを取得します。
- ISlideCollection->AddClone(System::SharedPtr sourceSlide)メソッドを使用してスライドのクローンを作成します。
- Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用してプレゼンテーションを保存します。
次のサンプルコードは、C++を使用してPowerPointプレゼンテーションの最後にスライドを複製する方法を示しています。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideAtEnd_out.pptx";
// プレゼンテーションを読み込む
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// スライドを取得する
auto slides = presentation->get_Slides();
// スライドクローンを追加する
slides->AddClone(presentation->get_Slides()->idx_get(0));
// プレゼンテーションを保存する
presentation->Save(outputFilePath, SaveFormat::Pptx);
C++を使用してスライドを特定の位置に複製する
以下は、C++を使用してスライドを特定の位置に複製する手順です。
- Presentationクラスを使用してPowerPointファイルをロードします。
- Presentation->getSlides()メソッドを使用してスライドを取得します。
- ISlideCollection->InsertClone(int32_t index, System::SharedPtr sourceSlide)メソッド。
- Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用してプレゼンテーションを保存します。
次のサンプルコードは、C++を使用してスライドを特定の位置に複製する方法を示しています。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideAtSpecificIndex_out.pptx";
// プレゼンテーションを読み込む
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// スライドを取得する
auto slides = presentation->get_Slides();
// 0インデックスにクローンを挿入します
slides->InsertClone(0, presentation->get_Slides()->idx_get(1));
// プレゼンテーションを保存する
presentation->Save(outputFilePath, SaveFormat::Pptx);
スライドを別のPowerPointプレゼンテーションに複製する
スライドを最後まで、または別のプレゼンテーションの特定の位置に複製できます。次のセクションでは、コードサンプルを使用してこれらのシナリオの両方を検討します。
C++を使用して、スライドを別のPowerPointプレゼンテーションの最後に複製します
スライドを別のPowerPointプレゼンテーションの最後に複製する手順は次のとおりです。
- Presentationクラスを使用してソースPowerPointファイルをロードします。
- Presentationクラスを使用して宛先のPowerPointファイルをロードします。
- Presentation->getSlides()メソッドを使用して、宛先ファイルのスライドを取得します。
- ISlideCollection->AddClone(System::SharedPtr sourceSlide)メソッド。
- Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用して宛先プレゼンテーションを保存します。
次のサンプルコードは、C++を使用してスライドを別のPowerPointプレゼンテーションの最後に複製する方法を示しています。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String destinationFilePath = u"SourceDirectory\\Slides\\SamplePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideToOtherPresentationAtEnd_out.pptx";
// ソースプレゼンテーションをロードする
auto sourcePresentation = System::MakeObject<Presentation>(sourceFilePath);
// 宛先プレゼンテーションをロードする
auto destinationPresentation = System::MakeObject<Presentation>(destinationFilePath);
// 目的のプレゼンテーションのスライドを入手する
auto destinationSlides = destinationPresentation->get_Slides();
// ソースプレゼンテーションから宛先プレゼンテーションの最後にスライドを追加します
destinationSlides->AddClone(sourcePresentation->get_Slides()->idx_get(0));
// 宛先のプレゼンテーションを保存する
destinationPresentation->Save(outputFilePath, SaveFormat::Pptx);
C++を使用して別のPowerPointプレゼンテーションの特定の位置にスライドを複製する
スライドを別のPowerPointプレゼンテーションの特定の位置に複製する手順は次のとおりです。
- Presentationクラスを使用してソースPowerPointファイルをロードします。
- Presentationクラスを使用して宛先のPowerPointファイルをロードします。
- Presentation->getSlides()メソッドを使用して、宛先ファイルのスライドを取得します。
- ISlideCollection->InsertClone(int32_t index, System::SharedPtr sourceSlide)メソッド。
- Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用して宛先プレゼンテーションを保存します。
次のサンプルコードは、C++を使用して別のPowerPointプレゼンテーションの特定の位置にスライドを複製する方法を示しています。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String destinationFilePath = u"SourceDirectory\\Slides\\SamplePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideToOtherPresentationAtSpecificIndex_out.pptx";
// ソースプレゼンテーションをロードする
auto sourcePresentation = System::MakeObject<Presentation>(sourceFilePath);
// 宛先プレゼンテーションをロードする
auto destinationPresentation = System::MakeObject<Presentation>(destinationFilePath);
// 目的のプレゼンテーションのスライドを入手する
auto destinationSlides = destinationPresentation->get_Slides();
// ソースプレゼンテーションから宛先プレゼンテーションの2番目のインデックスにスライドを挿入します
destinationSlides->InsertClone(2, sourcePresentation->get_Slides()->idx_get(0));
// 宛先のプレゼンテーションを保存する
destinationPresentation->Save(outputFilePath, SaveFormat::Pptx);
無料ライセンスを取得する
評価制限なしでAPIを試すために、無料の一時ライセンスをリクエストできます。
結論
この記事では、C++を使用してPowerPointプレゼンテーションでスライドのクローンを作成する方法を学習しました。具体的には、スライドを最後まで、または同じプレゼンテーションの特定の位置で、または別のプレゼンテーションで複製する方法を学習しました。 Aspose.Slides for C++は、PowerPointファイルを操作するための多くの追加機能を提供する堅牢なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。