Python via Java でプレゼンテーションに線シェイプを追加

概要

Aspose.Slides を使用すると、プログラムから PowerPoint スライドに線形シェイプを追加できます。この記事では、シンプルな線の作成方法と、線を矢印として表示するカスタマイズ方法を示します。

線形シェイプのスライドへの追加方法、外観の調整、更新されたプレゼンテーションの保存方法を学びます。例では、スタイル、幅、破線パターン、矢印ヘッドのオプション、塗りつぶし色など、実用的な線の書式設定に焦点を当てています。

単純な線の作成

プレゼンテーションの選択したスライドにシンプルな線を追加するには、以下の手順に従います。

  • Presentation クラスのインスタンスを作成します。
  • インデックスでスライドへの参照を取得します。
  • ShapeCollection オブジェクトのaddAutoShapeメソッドを使用して線シェイプを追加します。
  • 変更したプレゼンテーションを PPTX ファイルとして書き出します。

次の例は、プレゼンテーションの最初のスライドに線を追加します。

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, ShapeType

# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。
presentation = Presentation()
try:
    # 最初のスライドを取得します。
    slide = presentation.getSlides().get_Item(0)

    # 線シェイプを追加します。
    slide.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0)

    # PPTX ファイルをディスクに書き込みます。
    presentation.save("LineShape.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

矢印形状の線の作成

Aspose.Slides for Python via Java では、開発者が線のプロパティを設定して、線をより魅力的に見せることもできます。線を矢印のように見せるには、以下の手順に従います。

  • Presentation クラスのインスタンスを作成します。
  • インデックスでスライドへの参照を取得します。
  • ShapeCollection オブジェクトのaddAutoShapeメソッドを使用して線シェイプを追加します。
  • Aspose.Slides for Python via Java が提供するline styleのいずれかに設定します。
  • 線の幅を設定します。
  • Aspose.Slides for Python via Java が提供するdash styleのいずれかに設定します。
  • 線の開始位置にarrowhead stylelengthを設定します。
  • 線の終了位置にarrowhead stylelengthを設定します。
  • 変更したプレゼンテーションを PPTX ファイルとして書き出します。
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, LineArrowheadLength, LineArrowheadStyle, LineDashStyle, LineStyle, Presentation, PresetColor, SaveFormat, ShapeType

# PPTX ファイルを表す Presentation クラスのインスタンスを作成します。
presentation = Presentation()
try:
    # 最初のスライドを取得します。
    slide = presentation.getSlides().get_Item(0)

    # 線シェイプを追加します。
    line = slide.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0)

    # 線に書式設定を適用します。
    line_format = line.getLineFormat()
    line_format.setStyle(LineStyle.ThickBetweenThin)
    line_format.setWidth(10)

    line_format.setDashStyle(LineDashStyle.DashDot)

    line_format.setBeginArrowheadLength(LineArrowheadLength.Short)
    line_format.setBeginArrowheadStyle(LineArrowheadStyle.Oval)

    line_format.setEndArrowheadLength(LineArrowheadLength.Long)
    line_format.setEndArrowheadStyle(LineArrowheadStyle.Triangle)

    line_format.getFillFormat().setFillType(FillType.Solid)
    line_format.getFillFormat().getSolidFillColor().setPresetColor(PresetColor.Maroon)

    # PPTX ファイルをディスクに書き込みます。
    presentation.save("LineShape.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

FAQ

通常の線をコネクタに変換して図形に「スナップ」させることはできますか?

いいえ。通常の線(AutoShape のタイプがLine)は自動的にコネクタにはなりません。図形にスナップさせるには、専用のConnectorタイプと、接続用のcorresponding APIs を使用してください。

線のプロパティがテーマから継承されていて最終的な値が分かりにくい場合はどうすればよいですか?

線とその塗りつぶしのeffective propertiesを読み取ります。これらは継承およびテーマスタイルを考慮した値です。

線を編集(移動やサイズ変更)できないようにロックすることはできますか?

はい。シェイプはlock objectsを提供しており、editing operations を禁止できます。