Javaでパワーポイントのプレゼンテーションをマージ

この投稿では、Javaを使用してPowerPoint PPTXプレゼンテーションをマージする方法を学習します。 MS PowerPointプレゼンテーションは、ビジネス、教育、およびその他のドメインに関連するインタラクティブなスライドショーを作成するために広く使用されています。特定のケースでは、プログラムで複数のプレゼンテーションを1つのファイルにマージする必要がある場合があります。それに応じて、この投稿では、Javaアプリケーション内からPowerPointプレゼンテーションをマージする簡単な方法をいくつか紹介します。

Java PowerPoint Merger API-無料ダウンロード

Aspose.Slides for Javaは、JavaでのPowerPoint自動化のほぼすべての機能を提供する強力なプレゼンテーション操作APIです。 APIを使用すると、数行のコード内で複数のPowerPointプレゼンテーションを1つのファイルに簡単にマージできます。 APIのJARをダウンロードするか、次の構成を使用してMaveベースのアプリケーションにインストールできます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>20.11</version>
    <classifier>jdk16</classifier>
</dependency>

Javaを使用してPowerPointプレゼンテーションをマージする

以下は、Aspose.Slides for Javaを使用して、あるプレゼンテーションから別のプレゼンテーションにすべてのスライドをマージする手順です。

次のコードサンプルは、Javaを使用してPowerPointプレゼンテーションをマージする方法を示しています。

// 最初のプレゼンテーションを読み込む
Presentation presentation1 = new Presentation("presentation1.pptx");

// 2番目のプレゼンテーションを読み込む
Presentation presentation2 = new Presentation("presentation2.pptx");

// スライドをマージする
for (ISlide slide : presentation2.getSlides()) {
	// スライドをマージする from source to target
	presentation1.getSlides().addClone(slide);
}

// プレゼンテーションを保存する
presentation1.save("merged-presentation.pptx", SaveFormat.Pptx);

ターゲットプレゼンテーション

パワーポイントのプレゼンテーション

ソースプレゼンテーション

ソースプレゼンテーション

統合されたプレゼンテーション

Javaでのマージされたプレゼンテーション

PowerPointプレゼンテーションの特定のスライドをマージする

あるプレゼンテーションから別のプレゼンテーションにすべてのスライドをマージする代わりに、マージするいくつかのスライドを選択できます。このため、インデックスを使用してスライドにアクセスできます。以下は、選択したスライドをソースからターゲットのプレゼンテーションにマージする手順です。

次のコードサンプルは、JavaでPowerPointプレゼンテーションの特定のスライドをマージする方法を示しています。

// 最初のプレゼンテーションを読み込む
Presentation presentation1 = new Presentation("presentation1.pptx");

// 2番目のプレゼンテーションを読み込む
Presentation presentation2 = new Presentation("presentation2.pptx");

// スライドをマージする
for (int index = 0; index< presentation2.getSlides().size(); index = index+2) {
	// スライドをマージする from source to target
	presentation1.getSlides().addClone(presentation2.getSlides().get_Item(index));
}

// プレゼンテーションを保存する
presentation1.save("merged-presentation.pptx", SaveFormat.Pptx);

スライドマスターを使用してマージされたスライドのレイアウトを選択

前の例では、マージ後にスライドのレイアウトを変更していません。ただし、対象のプレゼンテーションに合わせてスライドのレイアウトを変更する必要がある場合があります。このために、addClone(ISlide sourceSlide、IMasterSlide destMaster、boolean allowCloneMissingLayout)メソッドを使用して使用するマスタースライドについて言及できます。

次のコードサンプルは、プレゼンテーションをマージするときにマスタースライドを定義する方法を示しています。

// 最初のプレゼンテーションを読み込む
Presentation presentation1 = new Presentation("presentation1.pptx");

// 2番目のプレゼンテーションを読み込む
Presentation presentation2 = new Presentation("presentation2.pptx");

// スライドマスターのみを使用して最初の2つのスライドをマージします
presentation1.getSlides().addClone(presentation2.getSlides().get_Item(0), presentation1.getMasters().get_Item(0), true);
presentation1.getSlides().addClone(presentation2.getSlides().get_Item(1), presentation1.getMasters().get_Item(0), true);

// プレゼンテーションを保存する
presentation1.save("merged-presentation.pptx", SaveFormat.Pptx);

統合されたプレゼンテーション

プレゼンテーションとレイアウトを統合

結論

PowerPointの自動化により、独自のアプリケーション内からプレゼンテーションを操作するためのさまざまな機能が提供されます。この記事では、Javaを使用してPowerPointプレゼンテーションをマージするために広く使用されている機能の1つを学習しました。ステップバイステップガイドとAPIリファレンスは、あるプレゼンテーションから別のプレゼンテーションにスライドをマージするさまざまな方法を示しています。 APIについて詳しく知りたい場合は、ドキュメントにアクセスしてください。

関連項目