PHPでプレゼンテーションにスライドを追加
Contents
[
Hide
]
プレゼンテーションにスライドを追加する
スライドをプレゼンテーション ファイルに追加することについて説明する前に、スライドに関するいくつかの事実を説明します。各 PowerPoint プレゼンテーション ファイルには Master / Layout スライドとその他の Normal スライドが含まれます。つまり、プレゼンテーション ファイルには少なくとも 1 つ以上のスライドが含まれます。スライドがないプレゼンテーション ファイルは Aspose.Slides for PHP via Java ではサポートされていないことに注意してください。各スライドには固有の Id があり、すべての Normal スライドは 0 ベースのインデックスで指定された順序で配置されます。
Aspose.Slides for PHP via Java は開発者がプレゼンテーションに空のスライドを追加できるようにします。プレゼンテーションに空のスライドを追加するには、以下の手順に従ってください:
- Presentation クラスのインスタンスを作成します。
- SlideCollection オブジェクトを、Presentation オブジェクトが提供する getSlides (コンテンツ スライド オブジェクトのコレクション) メソッドを使用して取得します。
- SlideCollection オブジェクトが提供する addEmptySlide メソッドを呼び出して、コンテンツ スライド コレクションの末尾に空のスライドをプレゼンテーションに追加します。
- 新しく追加された空のスライドで何らかの処理を行います。
- Presentation オブジェクトを使用してプレゼンテーション ファイルを書き込みます。
# プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成
$pres = new Presentation();
try {
# SlideCollection クラスのインスタンスを作成
$slds = $pres->getSlides();
for($i = 0; $i < java_values($pres->getLayoutSlides()->size()) ; $i++) {
# 空のスライドを Slides コレクションに追加
$slds->addEmptySlide($pres->getLayoutSlides()->get_Item($i));
}
# 新しく追加されたスライドで何らかの処理を行う
# PPTX ファイルをディスクに保存
$pres->save("EmptySlide.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
よくある質問
特定の位置に新しいスライドを挿入できますか?(末尾だけでなく)
はい。このライブラリはスライド コレクションおよび insert/clone 操作をサポートしているため、末尾だけでなく任意のインデックスにスライドを追加できます。
レイアウトに基づくスライドを追加する際、テーマ/スタイルは保持されますか?
はい。レイアウトはマスターから書式設定を継承し、新しいスライドは選択されたレイアウトとその関連マスターから継承します。
スライドを追加する前の新しい「空」プレゼンテーションにはどのスライドが存在しますか?
新しく作成されたプレゼンテーションには、インデックス 0 の空白スライドが 1 枚すでに含まれています。これを挿入インデックス計算時に考慮することが重要です。
マスターに多数のオプションがある場合、新しいスライドに適切なレイアウトをどのように選択しますか?
通常は、必要な構造(Title and Content, Two Content, etc.)に一致する LayoutSlide を選択します。該当するレイアウトがない場合は、add it to the master でマスターに追加し、使用できます。