PHPでプレゼンテーションにスライドを追加

プレゼンテーションにスライドを追加する

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 でマスターに追加し、使用できます。