Javaを使用してPowerPointで3D効果を適用する

PowerPointの3D効果は、プレゼンテーションをより魅力的にし、ユーザーの注意を引くために使用されます。したがって、プログラムでプレゼンテーションに3Dオブジェクトを追加する必要がある場合があります。この記事では、PowerPointPPTまたはJavaのPPTXで3D効果を作成する方法を学習します。 3Dテキストと図形を作成し、画像に3D効果を適用する方法を紹介します。

PowerPointPPTで3D効果を適用するJavaAPI

Aspose.Slides for Javaは、さまざまなプレゼンテーション操作機能をカプセル化した強力なAPIです。 APIを使用すると、インタラクティブなプレゼンテーションを作成し、既存のPPT/PPTXファイルをシームレスに操作できます。 PowerPointプレゼンテーションで3D効果を作成するには、このAPIを利用します。

ダウンロードAPIのJARを使用するか、次のMaven構成を使用してインストールできます。

リポジトリ:

<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>22.1</version>
    <classifier>jdk16</classifier>
</dependency>

JavaのPowerPointで3Dテキストを作成する

以下は、Javaを使用してPowerPointPPTで3Dテキストフラグメントを作成する手順です。

  • まず、Presentationクラスを使用して、新しいPPTを作成するか、既存のPPTをロードします。
  • 次に、addAutoShape()メソッドを使用して新しい長方形を追加します。
  • 塗りつぶしの種類、テキストなどの図形のプロパティを設定します。
  • 図形内のテキストの参照をPortionオブジェクトに取得します。
  • テキスト部分にフォーマットを適用します。
  • TextFrame内部形状の参照を取得します。
  • TextFrame.getTextFrameFormat().getThreeDFormat()メソッドによって返されるIThreeDFormatを使用して3D効果を適用します。
  • 最後に、Presentation.save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、JavaのPowerPointPPTで3Dテキストを作成する方法を示しています。

// プレゼンテーションを作成する
Presentation pres = new Presentation();
try {
    // 長方形を追加
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // テキストを設定する
    shape.getFillFormat().setFillType(FillType.NoFill);
    shape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
    shape.getTextFrame().setText("3D Text");

    // テキスト部分を追加し、そのプロパティを設定します
    Portion portion = (Portion)shape.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0);
    portion.getPortionFormat().getFillFormat().setFillType(FillType.Pattern);
    portion.getPortionFormat().getFillFormat().getPatternFormat().getForeColor().setColor(new Color(255, 140, 0));
    portion.getPortionFormat().getFillFormat().getPatternFormat().getBackColor().setColor(Color.WHITE);
    portion.getPortionFormat().getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.LargeGrid);

    // 図形のテキストのフォントサイズを設定します
    shape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().setFontHeight(128);

    // テキストフレームを取得
    ITextFrame textFrame = shape.getTextFrame();

    // 「アーチアップ」ワードアート変換効果を設定する
    textFrame.getTextFrameFormat().setTransform(TextShapeType.ArchUp);

    // 3D効果を適用する
    textFrame.getTextFrameFormat().getThreeDFormat().setExtrusionHeight(3.5f);
    textFrame.getTextFrameFormat().getThreeDFormat().setDepth(3);
    textFrame.getTextFrameFormat().getThreeDFormat().setMaterial(MaterialPresetType.Plastic);
    textFrame.getTextFrameFormat().getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    textFrame.getTextFrameFormat().getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced);
    textFrame.getTextFrameFormat().getThreeDFormat().getLightRig().setRotation(0, 0, 40);		 
    textFrame.getTextFrameFormat().getThreeDFormat().getCamera().setCameraType(CameraPresetType.PerspectiveContrastingRightFacing);

    // プレゼンテーションを保存する
    pres.save("3D-Text.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

次のスクリーンショットは、上記のコードサンプルの出力を示しています。

JavaのPowerPointで3Dテキストを作成する

JavaでPowerPointで3D図形を作成する

テキストと同様に、PowerPointプレゼンテーションの図形に3D効果を適用できます。以下は、Javaを使用してPowerPointPPTで3D形状を作成する手順です。

次のコードサンプルは、Javaを使用してPowerPointの図形に3D効果を適用する方法を示しています。

// プレゼンテーションを作成する
Presentation pres = new Presentation();
try {
    // 長方形を追加
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // 図形のテキストを設定する
    shape.getTextFrame().setText("3D");
    shape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().setFontHeight(64);

    // 3D効果を適用する
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getCamera().setRotation(20, 30, 40);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Flat);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    shape.getThreeDFormat().setMaterial(MaterialPresetType.Flat);
    shape.getThreeDFormat().setExtrusionHeight(100);
    shape.getThreeDFormat().getExtrusionColor().setColor(Color.BLUE);

    // プレゼンテーションを保存する
    pres.save("3D-Shape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

以下は、このコードを実行した後に得られる3D形状です。

JavaでPowerPointで3D図形を作成する

3D形状のグラデーションを作成する

以下の手順に従って、図形にグラデーション効果を適用することもできます。

次のコードサンプルは、PowerPointPPTの図形にグラデーション効果を適用する方法を示しています。

// プレゼンテーションを作成する
Presentation pres = new Presentation();
try {
    // 長方形を追加
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // 図形のテキストを設定する
    shape.getTextFrame().setText("3D");
    shape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().setFontHeight(64);

    shape.getFillFormat().setFillType(FillType.Gradient);
    shape.getFillFormat().getGradientFormat().getGradientStops().add(0, Color.BLUE);
    shape.getFillFormat().getGradientFormat().getGradientStops().add(100, Color.MAGENTA);

    // 3D効果を適用する
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getCamera().setRotation(10, 20, 30);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Flat);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    shape.getThreeDFormat().setExtrusionHeight(150);
    shape.getThreeDFormat().getExtrusionColor().setColor(new Color(255, 140, 0));

    // プレゼンテーションを保存する
    pres.save("3D-Shape-Gradient.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

以下は、グラデーション効果を適用した後の3D形状です。

JavaのPPTで3D形状のグラデーションを作成する

JavaのPowerPointで画像に3D効果を適用する

Aspose.Slides for Javaでは、画像に3D効果を適用することもできます。以下は、Javaでこの操作を実行するための手順です。

以下は、Javaを使用してPPTの画像に3D効果を適用する手順です。

// プレゼンテーションを作成する
Presentation pres = new Presentation();
try {
    // 長方形を追加
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // 形状の画像を設定
    shape.getFillFormat().setFillType(FillType.Picture);
    IPPImage picture = null;
    try {
        picture = pres.getImages().addImage(Files.readAllBytes(Paths.get("tiger.bmp")));
    } catch (IOException e) { }
    shape.getFillFormat().getPictureFillFormat().get_Picture().setImage(picture);
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);

    // 3D効果を適用する
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getCamera().setRotation(10, 20, 30);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Flat);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    shape.getThreeDFormat().setExtrusionHeight(150);
    shape.getThreeDFormat().getExtrusionColor().setColor(Color.GRAY);

    // プレゼンテーションを保存する
    pres.save("3D-Image.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

以下は、3D効果を適用した後に得られる結果の画像です。

JavaのPowerPointで画像に3D効果を適用する

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

無料の一時ライセンスを取得して、評価の制限なしにAspose.Slides for Javaを使用できます。

結論

この記事では、Javaを使用してPowerPoint PPT/PPTXで3D効果を適用する方法を学習しました。コードサンプルを使用して、3Dテキストまたは図形を作成し、PPTまたはPPTXプレゼンテーションの画像に3D効果を適用する方法を示しました。 ドキュメントにアクセスして、Aspose.Slides for Javaの詳細を確認できます。また、質問や質問をフォーラムに投稿することもできます。

関連項目