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

プレーンラインの作成

プレゼンテーションの選択されたスライドにシンプルなプレーンラインを追加するには、以下の手順に従ってください:

  • Presentation クラスのインスタンスを作成します。
  • Index を使用してスライドの参照を取得します。
  • IShapeCollection オブジェクトが提供する addAutoShape メソッドを使用して、Line タイプの AutoShape を追加します。
  • 変更されたプレゼンテーションを書き込み、PPTX ファイルとして保存します。

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

// PPTX ファイルを表す PresentationEx クラスのインスタンス化
Presentation pres = new Presentation();
try {
    // 最初のスライドを取得
    ISlide sld = pres.getSlides().get_Item(0);
    
    // line タイプの AutoShape を追加
    sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
    
    // PPTX をディスクに書き込む
    pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

矢印付きラインの作成

Aspose.Slides for Java は、開発者がラインのプロパティを設定して、見栄えを良くすることも可能です。ラインを矢印のように見せるために、いくつかのプロパティを設定してみましょう。以下の手順に従ってください:

  • Presentation クラスのインスタンスを作成します。
  • Index を使用してスライドの参照を取得します。
  • IShapeCollection オブジェクトが提供する addAutoShape メソッドを使用して、Line タイプの AutoShape を追加します。
  • Line Style を Aspose.Slides for Java が提供するスタイルのいずれかに設定します。
  • ラインの幅を設定します。
  • Dash Style を Aspose.Slides for Java が提供するスタイルのいずれかに設定します。
  • ラインの開始点の Arrow Head StyleLength を設定します。
  • ラインの終了点の Arrow Head StyleLength を設定します。
  • 変更されたプレゼンテーションを書き込み、PPTX ファイルとして保存します。
// PPTX ファイルを表す PresentationEx クラスのインスタンス化
Presentation pres = new Presentation();
try {
    // 最初のスライドを取得
    ISlide sld = pres.getSlides().get_Item(0);

    // line タイプの AutoShape を追加
    IAutoShape shp = sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);

    // 線にいくつかの書式設定を適用
    shp.getLineFormat().setStyle(LineStyle.ThickBetweenThin);
    shp.getLineFormat().setWidth(10);

    shp.getLineFormat().setDashStyle(LineDashStyle.DashDot);

    shp.getLineFormat().setBeginArrowheadLength(LineArrowheadLength.Short);
    shp.getLineFormat().setBeginArrowheadStyle(LineArrowheadStyle.Oval);

    shp.getLineFormat().setEndArrowheadLength(LineArrowheadLength.Long);
    shp.getLineFormat().setEndArrowheadStyle(LineArrowheadStyle.Triangle);

    shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.Maroon));

    // PPTX をディスクに書き込む
    pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

よくある質問

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

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

ラインのプロパティがテーマから継承されていて、最終的な値を判断しにくい場合はどうすればよいですか?

効果的なプロパティを読む には、ILineFormatEffectiveData/ILineFillFormatEffectiveData インターフェイスを使用します—これらは継承とテーマスタイルをすでに考慮しています。

ラインを編集(移動、サイズ変更)からロックできますか?

はい。Shapes は lock objects を提供しており、disallow editing operations が可能です。