C++ でプレゼンテーション スライドをクローンする
プレゼンテーション内のスライドをクローンする
クローンとは、何かを正確にコピーまたは複製するプロセスです。Aspose.Slides for C++ は、任意のスライドのコピーまたはクローンを作成し、そのクローンしたスライドを現在のプレゼンテーションまたは他の開いているプレゼンテーションに挿入することを可能にします。スライドのクローン作成プロセスにより、元のスライドを変更せずに開発者が変更できる新しいスライドが生成されます。スライドをクローンする方法はいくつかあります。
- プレゼンテーション内の末尾にクローンする。
- プレゼンテーション内の別の位置にクローンする。
- 別のプレゼンテーションの末尾にクローンする。
- 別のプレゼンテーションの別の位置にクローンする。
- 別のプレゼンテーションの特定の位置にクローンする。
Aspose.Slides for C++ では、Presentation オブジェクトが公開する ISlide コレクション (スライドのコレクション) が、上記のスライドクローン操作を実行するための AddClone および InsertClone メソッドを提供します。
プレゼンテーションの末尾にスライドをクローンする
同じプレゼンテーションファイル内の既存スライドの末尾にスライドをクローンして使用したい場合は、以下の手順に従って AddClone メソッドを使用します。
- Presentation クラスのインスタンスを作成します。
- Presentation オブジェクトが公開する Slides コレクションを参照して、ISlideCollection クラスのインスタンスを作成します。
- ISlideCollection オブジェクトが公開する AddClone メソッドを呼び出し、クローン対象のスライドをパラメーターとして渡します。
- 変更したプレゼンテーションファイルを書き出します。
以下の例では、プレゼンテーションの最初の位置 (0 インデックス) にあるスライドをプレゼンテーションの末尾にクローンしています。
プレゼンテーション内の別の位置にスライドをクローンする
同じプレゼンテーションファイル内で別の位置にスライドをクローンして使用したい場合は、InsertClone メソッドを使用します。
- Presentation クラスのインスタンスを作成します。
- Slides コレクションを参照してクラスのインスタンスを作成します。
- ISlideCollection オブジェクトが公開する InsertClone メソッドを呼び出し、クローン対象のスライドと新しい位置のインデックスをパラメーターとして渡します。
- 変更したプレゼンテーションを PPTX ファイルとして書き出します。
以下の例では、プレゼンテーションの 0 インデックス (位置 1) にあるスライドをインデックス 1 (位置 2) にクローンしています。
別のプレゼンテーションの末尾にスライドをクローンする
あるプレゼンテーションからスライドをクローンし、別のプレゼンテーションの既存スライドの末尾に追加したい場合は、次の手順を実行します。
- クローン元のプレゼンテーションを含む Presentation クラスのインスタンスを作成します。
- クローン先のプレゼンテーションを含む Presentation クラスのインスタンスを作成します。
- 目的プレゼンテーションの Slides コレクションを参照して、ISlideCollection クラスのインスタンスを作成します。
- ISlideCollection オブジェクトが公開する AddClone メソッドを呼び出し、ソースプレゼンテーションからのスライドをパラメーターとして渡します。
- 変更した目的プレゼンテーションファイルを書き出します。
以下の例では、ソースプレゼンテーションの最初のインデックスにあるスライドを目的プレゼンテーションの末尾にクローンしています。
別のプレゼンテーションの別の位置にスライドをクローンする
あるプレゼンテーションからスライドをクローンし、別のプレゼンテーションの特定の位置に配置したい場合は、次の手順を実行します。
- ソースプレゼンテーションを含む Presentation クラスのインスタンスを作成します。
- 目的プレゼンテーションを含む Presentation クラスのインスタンスを作成します。
- 目的プレゼンテーションの Slides コレクションを参照して、ISlideCollection クラスのインスタンスを作成します。
- ISlideCollection オブジェクトが公開する InsertClone メソッドを呼び出し、ソースプレゼンテーションからのスライドと目的位置をパラメーターとして渡します。
- 変更した目的プレゼンテーションファイルを書き出します。
以下の例では、ソースプレゼンテーションの 0 インデックスにあるスライドを目的プレゼンテーションのインデックス 1 (位置 2) にクローンしています。
別のプレゼンテーションの特定の位置にスライドをクローンする
あるプレゼンテーションからマスタースライド付きのスライドをクローンし、別のプレゼンテーションで使用したい場合は、まずソースプレゼンテーションから目的プレゼンテーションへマスタースライドをクローンする必要があります。その後、マスタースライドを使用してスライドをクローンします。AddClone(ISlide, IMasterSlide) は、ソースプレゼンテーションではなく目的プレゼンテーションのマスタースライドを期待します。マスタースライド付きのスライドをクローンする手順は以下の通りです。
- ソースプレゼンテーションを含む Presentation クラスのインスタンスを作成します。
- 目的プレゼンテーションを含む Presentation クラスのインスタンスを作成します。
- クローン対象のスライドとそのマスタースライドにアクセスします。
- 目的プレゼンテーションの Presentation オブジェクトが公開する Masters コレクションを参照して、IMasterSlideCollection クラスのインスタンスを作成します。
- IMasterSlideCollection オブジェクトが公開する AddClone メソッドを呼び出し、ソース PPTX からクローンするマスターをパラメーターとして渡します。
- 目的プレゼンテーションの Presentation オブジェクトが公開する Slides コレクションを参照して、ISlideCollection クラスのインスタンスを作成します。
- ISlideCollection オブジェクトが公開する AddClone メソッドを呼び出し、ソースプレゼンテーションからのスライドとマスタースライドをパラメーターとして渡します。
- 変更した目的プレゼンテーションファイルを書き出します。
以下の例では、ソースプレゼンテーションの 0 インデックスにあるマスタースライド付きスライドを、ソーススライドのマスターを使用して目的プレゼンテーションの末尾にクローンしています。
指定セクションの末尾にスライドをクローンする
同じプレゼンテーション内で別のセクションにスライドをクローンしたい場合は、ISlideCollection インターフェイスが公開する AddClone() メソッドを使用します。Aspose.Slides for C++ は、最初のセクションからスライドをクローンし、そのクローンしたスライドを同じプレゼンテーションの第二セクションに挿入することを可能にします。
以下のコードスニペットは、スライドをクローンして指定セクションに挿入する方法を示しています。
FAQ
スピーカーノートやレビュアーコメントもクローンされますか?
はい。ノートページとレビューコメントはクローンに含まれます。不要な場合は、挿入後に 削除してください。
チャートとそのデータソースはどのように扱われますか?
チャートオブジェクト、書式設定、埋め込みデータはコピーされます。チャートが外部ソース (例: OLE 埋め込みブック) にリンクされている場合、そのリンクは OLE オブジェクト として保存されます。ファイル間で移動した後は、データの可用性とリフレッシュ動作を確認してください。
クローンの挿入位置やセクションを制御できますか?
はい。特定のスライドインデックスにクローンを挿入し、選択した セクション に配置できます。対象セクションが存在しない場合は、先に作成してからスライドを移動してください。