Android でのプレゼンテーションにおける SmartArt グラフィックの管理
SmartArt シェイプの作成
Aspose.Slides for Android via Java は SmartArt シェイプを作成するための API を提供しています。スライドに SmartArt シェイプを作成するには、以下の手順に従ってください。
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- SmartArt シェイプを追加し、LayoutType を設定します。
- 変更されたプレゼンテーションを PPTX ファイルとして保存します。
// Presentation クラスをインスタンス化
Presentation pres = new Presentation();
try {
// 最初のスライドを取得
ISlide slide = pres.getSlides().get_Item(0);
// Smart Art シェイプを追加
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// プレゼンテーションを保存
pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
![]() |
|---|
| 図: スライドに追加された SmartArt シェイプ |
スライド上の SmartArt シェイプへのアクセス
以下のコードは、プレゼンテーションスライドに追加された SmartArt シェイプにアクセスするために使用されます。サンプルコードでは、スライド内のすべてのシェイプを走査し、それが SmartArt シェイプかどうかを確認します。シェイプが SmartArt タイプの場合は、SmartArt インスタンスに型キャストします。
// 目的のプレゼンテーションを読み込む
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// 最初のスライド内のすべてのシェイプを走査
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// シェイプが SmartArt タイプかどうかを確認
if (shape instanceof ISmartArt)
{
// シェイプを SmartArt に型キャスト
ISmartArt smart = (ISmartArt)shape;
System.out.println("Shape Name:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
特定の LayoutType を持つ SmartArt シェイプへのアクセス
以下のサンプルコードは、特定の LayoutType を持つ SmartArt シェイプにアクセスするのに役立ちます。SmartArt の LayoutType は読み取り専用で、SmartArt シェイプが追加されたときにのみ設定されるため、変更できないことに注意してください。
- Presentation クラスのインスタンスを作成し、SmartArt シェイプを含むプレゼンテーションをロードします。
- インデックスを使用して最初のスライドの参照を取得します。
- 最初のスライド内のすべてのシェイプを走査します。
- シェイプが SmartArt タイプかどうかを確認し、SmartArt であれば選択したシェイプを SmartArt に型キャストします。
- 特定の LayoutType を持つ SmartArt シェイプを確認し、必要な処理を実行します。
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// 最初のスライド内のすべてのシェイプを走査
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// シェイプが SmartArt タイプかどうかを確認
if (shape instanceof ISmartArt)
{
// シェイプを SmartArtEx に型キャスト
ISmartArt smart = (ISmartArt) shape;
// SmartArt のレイアウトを確認
if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
{
System.out.println("Do some thing here....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
SmartArt シェイプのスタイル変更
この例では、任意の SmartArt シェイプのクイックスタイルを変更する方法を学びます。
- Presentation クラスのインスタンスを作成し、SmartArt シェイプを含むプレゼンテーションをロードします。
- インデックスを使用して最初のスライドの参照を取得します。
- 最初のスライド内のすべてのシェイプを走査します。
- シェイプが SmartArt タイプかどうかを確認し、SmartArt であれば選択したシェイプを SmartArt に型キャストします。
- 特定のスタイルを持つ SmartArt シェイプを検索します。
- SmartArt シェイプに新しいスタイルを設定します。
- プレゼンテーションを保存します。
// Presentation クラスをインスタンス化
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// 最初のスライドを取得
ISlide slide = pres.getSlides().get_Item(0);
// 最初のスライド内のすべてのシェイプを走査
for (IShape shape : slide.getShapes())
{
// シェイプが SmartArt タイプかどうかを確認
if (shape instanceof ISmartArt)
{
// シェイプを SmartArtEx に型キャスト
ISmartArt smart = (ISmartArt) shape;
// SmartArt スタイルを確認
if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
// SmartArt スタイルを変更
smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
}
}
}
// プレゼンテーションを保存
pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| 図: スタイルが変更された SmartArt シェイプ |
SmartArt シェイプのカラー スタイル変更
この例では、任意の SmartArt シェイプのカラー スタイルを変更する方法を学びます。以下のサンプルコードでは、特定のカラー スタイルを持つ SmartArt シェイプにアクセスし、そのスタイルを変更します。
- Presentation クラスのインスタンスを作成し、SmartArt シェイプを含むプレゼンテーションをロードします。
- インデックスを使用して最初のスライドの参照を取得します。
- 最初のスライド内のすべてのシェイプを走査します。
- シェイプが SmartArt タイプかどうかを確認し、SmartArt であれば選択したシェイプを SmartArt に型キャストします。
- 特定のカラー スタイルを持つ SmartArt シェイプを検索します。
- SmartArt シェイプに新しいカラー スタイルを設定します。
- プレゼンテーションを保存します。
// Presentation クラスをインスタンス化
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// 最初のスライドを取得
ISlide slide = pres.getSlides().get_Item(0);
// 最初のスライド内のすべてのシェイプを走査
for (IShape shape : slide.getShapes())
{
// シェイプが SmartArt タイプかどうかを確認
if (shape instanceof ISmartArt)
{
// シェイプを SmartArtEx に型キャスト
ISmartArt smart = (ISmartArt) shape;
// SmartArt のカラータイプを確認
if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
// SmartArt のカラータイプを変更
smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
}
}
}
// プレゼンテーションを保存
pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
![]() |
|---|
| 図: カラー スタイルが変更された SmartArt シェイプ |
FAQ
SmartArt を単一オブジェクトとしてアニメーション化できますか?
はい。SmartArt はシェイプですので、他のシェイプと同様に、アニメーション API を使用して standard animations(入場、退出、強調、移動パス)を適用できます。
スライド上の特定の SmartArt を内部 ID が分からない場合、どうやって見つけられますか?
代替テキスト(AltText)を設定して使用し、その値でシェイプを検索します—これが対象シェイプを見つける推奨方法です。
SmartArt を他のシェイプとグループ化できますか?
はい。SmartArt を他のシェイプ(画像、表など)とグループ化でき、その後 グループを操作 できます。
特定の SmartArt の画像(プレビューやレポート用など)を取得するにはどうすればよいですか?
シェイプのサムネイル/画像をエクスポートします。ライブラリは個々のシェイプを render individual shapes してラスターファイル(PNG/JPG/TIFF)に出力できます。
プレゼンテーション全体を PDF に変換する際、SmartArt の外観は保持されますか?
はい。レンダリングエンジンは PDF export において高忠実度を目指しており、さまざまな品質と互換性オプションが用意されています。

