Python でプレゼンテーションの SmartArt グラフィックスを管理する

SmartArt 図形の作成

Aspose.Slides for Python via .NET を使用すると、スライドにカスタム SmartArt 図形を最初から追加できます。この API で簡単に実装できます。スライドに SmartArt 図形を追加する手順は次のとおりです。

  1. Presentation クラスのインスタンスを作成します。
  2. インデックスで対象のスライドを取得します。
  3. レイアウトタイプを指定して SmartArt 図形を追加します。
  4. 変更したプレゼンテーションを PPTX ファイルとして保存します。
import aspose.slides as slides
import aspose.slides.smartart as smartart

# Presentation クラスのインスタンス化。
with slides.Presentation() as presentation:
    # プレゼンテーションのスライドにアクセス。
    slide = presentation.slides[0]
    # SmartArt 図形を追加。
    smart_art = slide.shapes.add_smart_art(0, 0, 400, 400, smartart.SmartArtLayoutType.BASIC_BLOCK_LIST)
    # プレゼンテーションをディスクに保存。
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

スライド上の SmartArt 図形へのアクセス

以下のコードは、スライド上の SmartArt 図形にアクセスする方法を示しています。サンプルはスライド上のすべての図形を列挙し、各図形が SmartArt オブジェクトかどうかを確認します。

import aspose.slides as slides
import aspose.slides.smartart as smartart

# プレゼンテーション ファイルを読み込む。
with slides.Presentation("SmartArt.pptx") as presentation:
    # 最初のスライド上のすべての図形を反復処理する。
    for shape in presentation.slides[0].shapes:
        # 図形が SmartArt かどうかを確認する。
        if isinstance(shape, smartart.SmartArt):
            # 図形名を出力する。
            print("Shape name:", shape.name)

指定したレイアウトタイプの SmartArt 図形へのアクセス

次の例は、指定したレイアウトタイプを持つ SmartArt 図形にアクセスする方法を示します。SmartArt のレイアウトタイプは読み取り専用で、図形作成時に設定されるため変更できません。

  1. SmartArt 図形を含むプレゼンテーションをロードするために Presentation インスタンスを作成します。
  2. インデックスで最初のスライドへの参照を取得します。
  3. 最初のスライド上のすべての図形を列挙します。
  4. 図形が SmartArt オブジェクトかどうかを確認します。
  5. SmartArt 図形のレイアウトタイプが目的のものと一致した場合、必要な処理を実行します。
import aspose.slides as slides
import aspose.slides.smartart as smartart

with slides.Presentation("SmartArt.pptx") as presentation:
    # 最初のスライド上のすべての図形を反復処理する。
    for shape in presentation.slides[0].shapes:
        # 図形が SmartArt かどうかを確認する。
        if isinstance(shape, smartart.SmartArt):
            # SmartArt のレイアウトタイプを確認する。
            if shape.layout == smartart.SmartArtLayoutType.BASIC_BLOCK_LIST:
                print("Do something here...")

SmartArt 図形のスタイル変更

次の例は、SmartArt 図形を検索してそのスタイルを変更する方法を示します。

  1. SmartArt 図形が含まれるファイルをロードするために Presentation を作成します。
  2. インデックスで最初のスライドへの参照を取得します。
  3. 最初のスライド上の各図形を列挙します。
  4. 指定したスタイルを持つ SmartArt 図形を見つけます。
  5. 新しいスタイルをその SmartArt 図形に割り当てます。
  6. プレゼンテーションを保存します。
import aspose.slides as slides
import aspose.slides.smartart as smartart

with slides.Presentation("SmartArt.pptx") as presentation:
    # 最初のスライド上のすべての図形を反復処理する。
    for shape in presentation.slides[0].shapes:
        # 図形が SmartArt かどうかを確認する。
        if isinstance(shape, smartart.SmartArt):
            # SmartArt のスタイルを確認する。
            if shape.quick_style == smartart.SmartArtQuickStyleType.SIMPLE_FILL:
                # SmartArt のスタイルを変更する。
                smart.quick_style = smartart.SmartArtQuickStyleType.CARTOON
    # プレゼンテーションを保存する。
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

SmartArt 図形のカラースタイル変更

この例は、SmartArt 図形のカラースタイルを変更する方法を示します。サンプルコードは、指定したカラースタイルを持つ SmartArt 図形を検索し、更新します。

  1. Presentation クラスのインスタンスを作成し、SmartArt 図形が含まれるプレゼンテーションをロードします。
  2. インデックスで最初のスライドへの参照を取得します。
  3. 最初のスライド上の各図形を列挙します。
  4. 図形が SmartArt オブジェクトかどうかを確認します。
  5. 指定したカラースタイルを持つ SmartArt 図形を特定します。
  6. その SmartArt 図形に新しいカラースタイルを設定します。
  7. プレゼンテーションを保存します。
import aspose.slides as slides
import aspose.slides.smartart as smartart

with slides.Presentation("SmartArt.pptx") as presentation:
    # 最初のスライド上のすべての図形を反復処理する。
    for shape in presentation.slides[0].shapes:
        # 図形が SmartArt かどうかを確認する。
        if isinstance(shape, smartart.SmartArt):
            # カラータイプを確認する。
            if shape.color_style == smartart.SmartArtColorType.COLORED_FILL_ACCENT1:
                # カラータイプを変更する。
                shape.color_style = smartart.SmartArtColorType.COLORFUL_ACCENT_COLORS
    # プレゼンテーションを保存する。
    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

FAQ

SmartArt を単一オブジェクトとしてアニメーションさせることはできますか?

はい。SmartArt は図形なので、アニメーション API(開始、終了、強調、モーション パス)を使用して 標準アニメーション を他の図形と同様に適用できます。

スライド上で内部 ID が不明な特定の SmartArt を見つけるにはどうすればよいですか?

代替テキスト (AltText) を設定し、その値で図形を検索します。これは対象図形を特定する推奨方法です。

SmartArt を他の図形とグループ化できますか?

はい。SmartArt を画像、表などの他の図形とグループ化でき、その後 グループを操作 できます。

特定の SmartArt の画像(プレビューやレポート用など)を取得するには?

図形のサムネイル/画像をエクスポートします。ライブラリは個別の図形を レンダリング して PNG/JPG/TIFF 形式のラスターファイルに変換できます。

プレゼンテーション全体を PDF に変換した際に、SmartArt の外観は保持されますか?

はい。レンダリング エンジンは PDF エクスポート において高忠実度を目指しており、品質や互換性のオプションが用意されています。