統合プレゼンテーション

プレゼンテーションの統合

1つのプレゼンテーションを別のプレゼンテーションに統合すると、実質的にそれらのスライドが1つのプレゼンテーションにまとめられ、1ファイルを取得します。

統合できるもの

Aspose.Slidesを使用すると、次のものを統合できます。

  • 完全なプレゼンテーション。プレゼンテーションのすべてのスライドが1つのプレゼンテーションに集約されます
  • 特定のスライド。選択したスライドが1つのプレゼンテーションに集約されます
  • 1つの形式のプレゼンテーション(PPTからPPT、PPTXからPPTXなど)と異なる形式(PPTからPPTX、PPTXからODPなど)を相互に統合できます。

統合オプション

出力プレゼンテーション内の各スライドがユニークなスタイルを保持するか、すべてのスライドに特定のスタイルを使用するかを決定するオプションを適用できます。

プレゼンテーションを統合するために、Aspose.SlidesはAddCloneメソッド(ISlideCollectionインターフェイスから)を提供します。プレゼンテーションの統合プロセスパラメータを定義するAddCloneメソッドのいくつかの実装があります。各PresentationオブジェクトにはSlidesコレクションがあるため、スライドを統合したいプレゼンテーションからAddCloneメソッドを呼び出すことができます。

AddCloneメソッドは、ソーススライドのクローンであるISlideオブジェクトを返します。出力プレゼンテーションのスライドは、ソースからのスライドの単なるコピーです。したがって、ソースのプレゼンテーションに影響を与えることを心配することなく、結果のスライド(たとえば、スタイルや書式設定オプションまたはレイアウトを適用)を変更できます。

プレゼンテーションを統合する

Aspose.Slidesは、スライドがレイアウトやスタイルを保持したまま統合することを可能にするAddClone(ISlide)メソッドを提供しています(デフォルトのパラメータ)。

このPHPコードは、プレゼンテーションを統合する方法を示しています:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

スライドマスターを使用したプレゼンテーションの統合

Aspose.Slidesは、スライドマスタープレゼンテーションテンプレートを適用しながらスライドを統合することを可能にするAddClone(ISlide, IMasterSlide, boolean)メソッドを提供します。このようにして、必要に応じて出力プレゼンテーション内のスライドのスタイルを変更できます。

このコードは、説明された操作を示しています:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getMasters()->get_Item(0), true);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

出力プレゼンテーション内のスライドに異なるスライドレイアウトを持たせたい場合は、統合の際にAddClone(ISlide, ILayoutSlide)メソッドを代わりに使用してください。

特定のスライドをプレゼンテーションから統合する

このPHPコードは、異なるプレゼンテーションから特定のスライドを選択して結合し、1つの出力プレゼンテーションを取得する方法を示しています:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

スライドレイアウトを適用したプレゼンテーションの統合

このPHPコードは、プレゼンテーションからスライドを結合し、好みのスライドレイアウトを適用して1つの出力プレゼンテーションを取得する方法を示しています:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

異なるスライドサイズを持つプレゼンテーションの統合

異なるスライドサイズを持つ2つのプレゼンテーションを統合するには、1つのプレゼンテーションのサイズを他のプレゼンテーションのサイズと一致させるようにリサイズする必要があります。

このサンプルコードは、説明された操作を示しています:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      $pres2->getSlideSize()->setSize($pres1->getSlideSize()->getSize()->getWidth(), $pres1->getSlideSize()->getSize()->getHeight(), SlideSizeScaleType::EnsureFit);
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

プレゼンテーションセクションへのスライドの統合

このPHPコードは、特定のスライドをプレゼンテーションのセクションに統合する方法を示しています:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres1->getSections()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

スライドはセクションの最後に追加されます。