PHP でプレゼンテーションからスライドを削除する

スライド(またはその内容)が冗長になる場合は、削除できます。Aspose.Slides は、プレゼンテーション内のすべてのスライドのリポジトリである SlideCollection をカプセル化する Presentation クラスを提供します。既知の Slide オブジェクトのポインタ(参照またはインデックス)を使用して、削除したいスライドを指定できます。

参照によるスライドの削除

  1. Presentation クラスのインスタンスを作成します。
  2. 削除したいスライドの ID またはインデックスを使用して参照を取得します。
  3. 参照されたスライドをプレゼンテーションから削除します。
  4. 変更されたプレゼンテーションを保存します。

この PHP コードは、参照を使用してスライドを削除する方法を示しています。

  # プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化
  $pres = new Presentation("demo.pptx");
  try {
    # スライドコレクション内のインデックスを使用してスライドにアクセス
    $slide = $pres->getSlides()->get_Item(0);
    # 参照を使用してスライドを削除
    $pres->getSlides()->remove($slide);
    # 変更されたプレゼンテーションを保存
    $pres->save("modified.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

インデックスによるスライドの削除

  1. Presentation クラスのインスタンスを作成します。
  2. インデックス位置を使用してプレゼンテーションからスライドを削除します。
  3. 変更されたプレゼンテーションを保存します。

この PHP コードは、インデックスを使用してスライドを削除する方法を示しています。

  # プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化
  $pres = new Presentation("demo.pptx");
  try {
    # スライドインデックスを使用してスライドを削除
    $pres->getSlides()->removeAt(0);
    # 変更されたプレゼンテーションを保存
    $pres->save("modified.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

未使用のレイアウトスライドの削除

Aspose.Slides は、不要かつ未使用のレイアウトスライドを削除できるようにする Compress クラスの removeUnusedLayoutSlides メソッドを提供します。この PHP コードは、PowerPoint プレゼンテーションからレイアウトスライドを削除する方法を示しています:

  $pres = new Presentation("pres.pptx");
  try {
    Compress->removeUnusedLayoutSlides($pres);
    $pres->save("pres-out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

未使用のマスタースライドの削除

Aspose.Slides は、不要かつ未使用のマスタースライドを削除できるようにする Compress クラスの removeUnusedMasterSlides メソッドを提供します。この PHP コードは、PowerPoint プレゼンテーションからマスタースライドを削除する方法を示しています:

  $pres = new Presentation("pres.pptx");
  try {
    Compress->removeUnusedMasterSlides($pres);
    $pres->save("pres-out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

スライドを削除した後、スライドのインデックスはどうなりますか?

削除後、collection は再インデックスされ、以降のすべてのスライドが1つ左にシフトするため、以前のインデックス番号は古くなります。安定した参照が必要な場合は、インデックスではなく各スライドの永続的な ID を使用してください。

スライドの ID はインデックスと異なりますか?また、隣接するスライドが削除されたときに変わりますか?

はい。インデックスはスライドの位置を示し、スライドが追加または削除されると変わります。スライド ID は永続的な識別子であり、他のスライドが削除されても変わりません。

スライドを削除するとスライドセクションにどのような影響がありますか?

スライドがセクションに属している場合、そのセクションのスライド数が1つ減ります。セクション構造は維持され、セクションが空になる場合は、必要に応じて セクションの削除または再編成 を実行できます。

スライドが削除されたとき、添付されたノートやコメントはどうなりますか?

Notescomments はそのスライドに紐付いており、スライドとともに削除されます。他のスライドのコンテンツは影響を受けません。

スライドの削除は、未使用のレイアウト/マスターのクリーンアップとどのように異なりますか?

削除はデックから特定の通常スライドを取り除きます。未使用のレイアウト/マスターのクリーンアップは、参照されていないレイアウトスライドやマスタースライドを削除し、残りのスライドの内容を変更せずにファイルサイズを削減します。これらの操作は補完的であり、通常は最初にスライドを削除し、次にクリーンアップを行います。