SmartArtの管理

SmartArtからテキストを取得する

現在、TextFrameメソッドがISmartArtShapeインターフェースおよびSmartArtShapeクラスに追加されました。このプロパティを使用すると、ノードのテキストだけでなくSmartArtからすべてのテキストを取得できます。以下のサンプルコードは、SmartArtノードからテキストを取得するのに役立ちます。

Presentation pres = new Presentation("Presentation.pptx");
try {
    ISlide slide = pres.getSlides().get_Item(0);
    ISmartArt smartArt = (ISmartArt)slide.getShapes().get_Item(0);

    ISmartArtNodeCollection smartArtNodes = smartArt.getAllNodes();
    for (ISmartArtNode smartArtNode : smartArtNodes)
    {
        for (ISmartArtShape nodeShape : smartArtNode.getShapes())
        {
            if (nodeShape.getTextFrame() != null)
                System.out.println(nodeShape.getTextFrame().getText());
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

SmartArtのレイアウトタイプを変更する

SmartArtのレイアウトタイプを変更するには、以下の手順に従ってください。

  • Presentationクラスのインスタンスを作成します。
  • インデックスを使用してスライドの参照を取得します。
  • SmartArt BasicBlockListを追加します。
  • LayoutTypeをBasicProcessに変更します。
  • プレゼンテーションをPPTXファイルとして書き出します。 以下の例では、2つの図形の間にコネクタを追加しました。
Presentation pres = new Presentation();
try {
    // SmartArt BasicProcessを追加
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);

    // LayoutTypeをBasicProcessに変更
    smart.setLayout(SmartArtLayoutType.BasicProcess);

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

SmartArtの隠しプロパティを確認する

注意: メソッドISmartArtNode.isHidden()は、このノードがデータモデル内の隠しノードである場合、trueを返します。SmartArtの任意のノードの隠しプロパティを確認するには、以下の手順に従ってください。

  • Presentationクラスのインスタンスを作成します。
  • SmartArt RadialCycleを追加します。
  • SmartArtにノードを追加します。
  • isHiddenプロパティを確認します。
  • プレゼンテーションをPPTXファイルとして書き出します。

以下の例では、2つの図形の間にコネクタを追加しました。

Presentation pres = new Presentation();
try {
    // SmartArt BasicProcessを追加
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.RadialCycle);

    // SmartArtにノードを追加
    ISmartArtNode node = smart.getAllNodes().addNode();

    // isHiddenプロパティを確認
    boolean hidden = node.isHidden(); // trueを返します

    if (hidden)
    {
        // 何らかのアクションや通知を行う
    }
    // プレゼンテーションを保存
    pres.save("CheckSmartArtHiddenProperty_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

組織図タイプの取得または設定

メソッドISmartArtNode.getOrganizationChartLayout()setOrganizationChartLayout(int)を使用して、現在のノードに関連付けられた組織図タイプを取得または設定できます。組織図タイプを取得または設定するには、以下の手順に従ってください。

  • Presentationクラスのインスタンスを作成します。
  • スライドにSmartArtを追加します。
  • 組織図タイプを取得または設定します。
  • プレゼンテーションをPPTXファイルとして書き出します。 以下の例では、2つの図形の間にコネクタを追加しました。
Presentation pres = new Presentation();
try {
    // SmartArt BasicProcessを追加
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.OrganizationChart);

    // 組織図タイプを取得または設定
    smart.getNodes().get_Item(0).setOrganizationChartLayout(OrganizationChartLayoutType.LeftHanging);

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

画像組織図の作成

Aspose.Slides for Android via Javaは、簡単にチャートを作成するためのシンプルなAPIを提供しています。スライドにチャートを作成するには:

  1. Presentationクラスのインスタンスを作成します。
  2. インデックスでスライドの参照を取得します。
  3. デフォルトデータを持つチャートを追加し、希望のタイプ(ChartType.PictureOrganizationChart)を指定します。
  4. 修正したプレゼンテーションをPPTXファイルに書き出します。

以下のコードは、チャートを作成するために使用されます。

Presentation pres = new Presentation("test.pptx");
try {
    ISmartArt smartArt = pres.getSlides().get_Item(0).getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.PictureOrganizationChart);
    pres.save("OrganizationChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

SmartArtの状態の取得または設定

SmartArtのレイアウトタイプを変更するには、以下の手順に従ってください。

  1. Presentationクラスのインスタンスを作成します。
  2. スライドにSmartArtを追加します。
  3. SmartArt Diagramの状態を取得または設定します。
  4. プレゼンテーションをPPTXファイルとして書き出します。

以下のコードは、チャートを作成するために使用されます。

// PPTXファイルを表すPresentationクラスのインスタンスを作成
Presentation pres = new Presentation();
try {
    // SmartArt BasicProcessを追加
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.BasicProcess);
    
    // SmartArt Diagramの状態を取得または設定
    smart.setReversed(true);
    boolean flag = smart.isReversed();
    
    // プレゼンテーションを保存
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}