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

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

1つのプレゼンテーションを別のプレゼンテーションに結合すると、実質的にスライドを単一のプレゼンテーションにまとめて1つのファイルにします。

マージできるもの

Aspose.Slides を使用すると、次のものをマージできます。

  • プレゼンテーション全体。プレゼンテーションのすべてのスライドが 1 つのプレゼンテーションにまとめられます
  • 特定のスライド。選択したスライドが 1 つのプレゼンテーションにまとめられます
  • 同一形式のプレゼンテーション(PPT から PPT、PPTX から PPTX など)および異なる形式のプレゼンテーション(PPT から PPTX、PPTX から ODP など)を相互に結合します。

マージ オプション

次の点を決定するオプションを適用できます。

  • 出力プレゼンテーションの各スライドが固有のスタイルを保持するか
  • 出力プレゼンテーションのすべてのスライドに同じスタイルを使用するか

プレゼンテーションをマージするには、Aspose.Slides は addClone メソッド(SlideCollection クラス)を提供します。addClone メソッドにはさまざまな実装があり、プレゼンテーションのマージ処理パラメータを定義します。すべての Presentation オブジェクトは Slides コレクションを持つため、スライドをマージしたいプレゼンテーションから addClone メソッドを呼び出すことができます。

addClone メソッドは Slide オブジェクトを返します。これは元のスライドのクローンです。出力プレゼンテーションのスライドは単に元スライドのコピーなので、ソースプレゼンテーションに影響を与えることなく、結果のスライドに対してスタイルや書式設定、レイアウトの変更などを行うことができます。

プレゼンテーションのマージ

Aspose.Slides は、スライドがレイアウトとスタイルを保持したままスライドを結合できる AddClone(ISlide) メソッドを提供します(デフォルトパラメータ)。

この JavaScript コードはプレゼンテーションのマージ方法を示しています:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

スライド マスタ付きプレゼンテーションのマージ

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

この JavaScript コードは上記の操作を示しています:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

出力プレゼンテーションのスライドに異なるレイアウトを使用したい場合は、マージ時に addClone(ISlide, ILayoutSlide) メソッドを使用してください。

プレゼンテーションから特定のスライドをマージ

複数のプレゼンテーションから特定のスライドをマージすると、カスタム スライド デッキを作成できます。Aspose.Slides for Node.js via Java を使用すると、必要なスライドだけを選択してインポートできます。API は元のスライドの書式設定、レイアウト、デザインを保持します。

次の JavaScript コードは新しいプレゼンテーションを作成し、2 つの別のプレゼンテーションからタイトル スライドを追加して結果をファイルに保存します:

function getTitleSlide(presentation) {
  for (let i = 0; i < presentation.getSlides().size(); i++) {
    let slide = presentation.getSlides().get_Item(i);
    if (slide.getLayoutSlide().getLayoutType() == aspose.slides.SlideLayoutType.Title) {
      return slide;
    }
  }
  return null;
}
let presentation = new aspose.slides.Presentation();
let presentation1 = new aspose.slides.Presentation("presentation1.pptx");
let presentation2 = new aspose.slides.Presentation("presentation2.pptx");
try {
    presentation.getSlides().removeAt(0);
    
    let slide1 = getTitleSlide(presentation1);

    if (slide1 != null)
        presentation.getSlides().addClone(slide1);

    let slide2 = getTitleSlide(presentation2);

    if (slide2 != null)
        presentation.getSlides().addClone(slide2);

    presentation.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation2.dispose();
    presentation1.dispose();
    presentation.dispose();
}

スライド レイアウト付きプレゼンテーションのマージ

この JavaScript コードは、スライドに希望のレイアウトを適用しながらプレゼンテーションからスライドを結合し、1 つの出力プレゼンテーションを作成する方法を示します:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

異なるスライド サイズのプレゼンテーションのマージ

異なるスライド サイズの 2 つのプレゼンテーションをマージするには、サイズが合うようにどちらかのプレゼンテーションのサイズを変更する必要があります。

このサンプルコードは上記の操作を示しています:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize(pres1.getSlideSize().getSize().getWidth(), pres1.getSlideSize().getSize().getHeight(), aspose.slides.SlideSizeScaleType.EnsureFit);
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

スライドをプレゼンテーション セクションにマージ

この JavaScript コードは、特定のスライドをプレゼンテーションのセクションにマージする方法を示します:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

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

FAQ

マージ時にスピーカーノートは保持されますか?

はい。スライドをクローンすると、ノート、書式設定、アニメーションを含むすべてのスライド要素が引き継がれます。

コメントと作成者は転送されますか?

コメントはスライドコンテンツの一部としてスライドと共にコピーされます。コメント作成者のラベルは結果のプレゼンテーション内のコメントオブジェクトとして保持されます。

ソース プレゼンテーションがパスワードで保護されている場合はどうなりますか?

LoadOptions.setPassword を使用して パスワードで保護されたプレゼンテーション を開く必要があります。読み込んだ後、そのスライドは保護されていないターゲット ファイル(または保護されたファイル)に安全にクローンできます。

マージ操作はどれくらいスレッドセーフですか?

同じ Presentation インスタンスを 複数のスレッド から使用しないでください。推奨ルールは「1 ドキュメント – 1 スレッド」です。別々のファイルは別スレッドで並行処理できます。

参照

Aspose は、無料オンライン コラージュ メーカー を提供しています。このオンライン サービスを使用すると、JPG から JPG や PNG から PNG の画像を結合したり、フォト グリッド を作成したりできます。

Aspose 無料オンライン マージャー もご利用ください。これにより、同じ形式(例: PPT から PPT、PPTX から PPTX)または異なる形式(例: PPT から PPTX、PPTX から ODP)の PowerPoint プレゼンテーションを結合できます。

Aspose 無料オンライン マージャー