SmartArt シェイプの管理
Contents
[
Hide
]
SmartArt シェイプの作成
Aspose.Slides for Java には、SmartArt シェイプを作成するための API が用意されています。スライドに SmartArt シェイプを作成するには、以下の手順に従ってください。
- Presentation クラスのインスタンスを作成します。
- インデックスを使用してスライドの参照を取得します。
- LayoutType を設定して SmartArt シェイプを追加します。
- 変更したプレゼンテーションを 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)
{
// シェイプを SmartArtEx に型キャスト
ISmartArt smart = (ISmartArt)shape;
System.out.println("シェイプ名:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
特定の LayoutType での SmartArt シェイプへのアクセス
以下のサンプルコードは、特定の LayoutType を持つ SmartArt シェイプにアクセスするのに役立ちます。注意してください。SmartArt の LayoutType は読み取り専用であり、SmartArt シェイプが追加されたときのみ設定されます。
- Presentation クラスのインスタンスを作成し、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("ここで何かを実行します....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
SmartArt シェイプのスタイルを変更
この例では、任意の SmartArt シェイプのクイックスタイルを変更する方法を学びます。
- Presentation クラスのインスタンスを作成し、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 シェイプに新しいカラー スタイルを設定します。
- プレゼンテーションを保存します。
// 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 シェイプ |