JavaでPowerPoint図形を操作する

PowerPointプレゼンテーションの図形は、特定のポイントを詳しく説明したり、フローチャートなどの図を作成したりするために使用されます。さらに、図形を含めると、プレゼンテーションがより魅力的になります。したがって、PowerPointには、線、楕円、長方形などのさまざまな図形が用意されています。この記事では、PowerPointプレゼンテーションで図形の操作を自動化する方法を学習します。特に、この記事では、Javaを使用してPowerPointプレゼンテーションで図形を追加、接続、複製、または削除する方法について説明します。

PowerPointシェイプを操作するJavaAPI

PowerPointの図形を操作するには、Aspose.Slides for Javaを使用します。これは、PowerPointプレゼンテーションをシームレスに操作できる強力なJavaAPIです。特に、APIを使用すると、プレゼンテーションドキュメントを作成、変更、読み取り、および変換できます。 APIをダウンロードするか、次のMaven構成を使用してインストールすることができます。

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

PowerPointシェイプの種類

PowerPointは、プレゼンテーションスライドに追加できるさまざまな図形をサポートしています。したがって、Aspose.Slides for Javaは、次の形状タイプをサポートします。

JavaでPowerPointスライドに図形を追加する

Aspose.Slides for Javaには、追加する図形の種類を指定するためのShapeTypeクラスが用意されています。以下は、Javaを使用してPowerPointプレゼンテーションに特定の形状を追加する手順です。

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

// PPTXを表すプレゼンテーションクラスをインスタンス化します
Presentation pres = new Presentation();

// 最初のスライドを取得
ISlide sld = pres.getSlides().get_Item(0);

// 楕円タイプのオートシェイプを追加します
sld.getShapes().addAutoShape(ShapeType.Ellipse, 100, 150, 150, 100);

// PPTXファイルをディスクに書き込みます
pres.save("add_shape.pptx", SaveFormat.Pptx);

以下は、このコードを実行した後に得られる出力です。

JavaでPowerPointの形を追加する

Javaを使用してPowerPointシェイプ間にコネクタを追加する

コネクタは、2つの形状を結合するために使用される線です。さらに、コネクタは直線でも曲線でもかまいません。以下は、2つのPowerPoint図形の間にコネクタを追加する手順です。

次のコードサンプルは、Javaを使用してPowerPointで2つの図形の間にコネクタを追加する方法を示しています。

// PPTXファイルを表すPresentationクラスをインスタンス化します
Presentation input = new Presentation();

// 選択したスライドの図形コレクションにアクセスします
IShapeCollection shapes = input.getSlides().get_Item(0).getShapes();

// AutoshapeEllipseを追加する
IAutoShape ellipse = shapes.addAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

// AutoshapeRectangleを追加する
IAutoShape rectangle = shapes.addAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

// スライド形状コレクションにコネクタ形状を追加
IConnector connector = shapes.addConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

// シェイプをコネクタに結合する
connector.setStartShapeConnectedTo(ellipse);
connector.setEndShapeConnectedTo(rectangle);
connector.reroute();

// プレゼンテーションを保存
input.save("connect_shape.pptx", SaveFormat.Pptx);

以下は、図形を接続した後のPowerPointプレゼンテーションのスクリーンショットです。

JavaでPowerPointの図形を接続する

Javaを使用してPowerPointシェイプのクローンを作成する

PowerPoint図形のクローンを作成して、そのコピーを作成することもできます。この操作を実行する手順は次のとおりです。

次のコードサンプルは、Javaを使用してPowerPoint図形のクローンを追加する方法を示しています。

// PPTXを表すプレゼンテーションクラスをインスタンス化します
Presentation pres = new Presentation();

// 最初のスライドを取得
ISlide sld = pres.getSlides().get_Item(0);

// 長方形タイプのオートシェイプを追加します
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 75, 150);

// 形状を90度回転します
shp.setRotation(90);

// PPTXファイルをディスクに書き込みます
pres.save("clone_shape.pptx", SaveFormat.Pptx);

JavaでPowerPointスライドから図形を削除する

Aspose.Slides for Javaを使用して、スライドからPowerPointの図形を削除することもできます。図形コレクションからPowerPoint図形を削除する手順は次のとおりです。

  • まず、Presentationクラスのインスタンスを作成して、PowerPointプレゼンテーションをロードします。
  • 目的のスライドの参照をISlideオブジェクトに取得します。
  • ISlide.getShapes().removeAt(int)メソッドを使用して、インデックスによって特定の形状を削除します。
  • 最後に、Presentation.save(String, SaveFormat.Pptx)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、Javaを使用してスライドからPowerPoint図形を削除する方法を示しています。

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

// スライドを取得
ISlide slide = presentation1.getSlides().get_Item(0);

// 図形を見つけるための図形テキスト
String alttext = "User Defined";

// 形状の数を取得する
int iCount = slide.getShapes().size();

// 図形をループする
for (int i = 0; i < iCount; i++) {
	
	// 形を整える
	IAutoShape ashp = (IAutoShape) slide.getShapes().get_Item(0);
	if (ashp.getAlternativeText().compareTo(alttext) == 0) {    
		// 形を取り除く
		slide.getShapes().remove(ashp);
	}
}
presentation1.save("remove_shape.pptx", SaveFormat.Pptx);

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。

結論

この記事では、Javaを使用してPowerPointプレゼンテーションで図形を操作する方法を学習しました。特に、PowerPoint図形を追加、接続、削除、または複製する方法を見てきました。さらに、APIのドキュメントを参照することで、APIの詳細を調べることができます。また、ご不明な点がございましたら、フォーラムからお気軽にお問い合わせください。

関連項目