C++ を使用した PowerPoint プレゼンテーションの SmartArt の管理

SmartArt オブジェクトからテキストを取得する

現在、ISmartArtShape インターフェイスと SmartArtShape クラスにそれぞれ TextFrame プロパティが追加されました。このプロパティを使用すると、ノードのテキストだけでなく SmartArt 全体のテキストを取得できます。以下のサンプルコードは、SmartArt ノードからテキストを取得する方法を示しています。

SmartArt オブジェクトのレイアウトタイプを変更する

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

  • Presentation クラスのインスタンスを作成します。
  • インデックスを使用してスライドの参照を取得します。
  • SmartArt BasicBlockList を追加します。
  • LayoutType を BasicProcess に変更します。
  • プレゼンテーションを書き出して PPTX ファイルにします。

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

SmartArt オブジェクトの Hidden プロパティを確認する

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

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

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

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

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

  • Presentation クラスのインスタンスを作成します。
  • スライドに SmartArt を追加します。
  • 組織図のタイプを取得または設定します。
  • プレゼンテーションを書き出して PPTX ファイルにします。

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

SmartArt の状態を取得または設定する

一部の SmartArt 図は反転をサポートしていません(例: Vertical bullet list、Vertical Process、Descending Process、Funnel、Gear、Balance、Circle Relationship、Hexagon Cluster、Reverse List、Stacked Venn)。SmartArt の向きを変更するには、以下の手順に従ってください。

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

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

ピクチャ組織図を作成する

Aspose.Slides for C++ は、ピクチャ組織図(PictureOrganizationChart)を簡単に作成できるシンプルな API を提供します。スライド上にチャートを作成する手順は次のとおりです。

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

以下のコードはチャート作成に使用します。

auto pres = System::MakeObject<Presentation>(u"test.pptx");
auto smartArt = pres->get_Slides()->idx_get(0)->get_Shapes()->AddSmartArt(0.0f, 0.0f, 400.0f, 400.0f, SmartArtLayoutType::PictureOrganizationChart);
pres->Save(u"OrganizationChart.pptx", SaveFormat::Pptx);

FAQ

SmartArt は RTL 言語に対してミラーリング/反転をサポートしていますか?

はい。選択した SmartArt タイプが反転をサポートしている場合、set_IsReversed メソッドが図の方向(LTR/RTL)を切り替えます。

同じスライドまたは別のプレゼンテーションに SmartArt をコピーして書式を保持するにはどうすればよいですか?

シェイプコレクションの ShapeCollection::AddClone を使用して SmartArt シェイプを クローン するか、またはそのシェイプを含むスライド全体を クローン できます。どちらの方法でもサイズ、位置、スタイリングが保持されます。

SmartArt をプレビューや Web エクスポート用にラスタ画像にレンダリングするには?

スライド(またはプレゼンテーション全体)を PNG/JPEG に変換する API(スライドをレンダリング)を使用してください。SmartArt はスライドの一部として描画されます。

スライドに複数の SmartArt がある場合、プログラムで特定の SmartArt を選択する方法は?

一般的な手法は、代替テキスト(Alt Text)または 名前 を設定し、スライドシェイプ コレクション内でその属性でシェイプを検索し、タイプが SmartArt かどうかを確認することです。ドキュメントにはシェイプの検索と操作に関する典型的なテクニックが記載されています。