管理 SmartArt 形状

创建 SmartArt 形状

Aspose.Slides for Python via .NET 现在支持从零开始在幻灯片中添加自定义 SmartArt 形状。Aspose.Slides for Python via .NET 提供了最简单的 API,以最简单的方式创建 SmartArt 形状。要在幻灯片中创建 SmartArt 形状,请按照以下步骤操作:

  • 创建 Presentation 类的实例。
  • 通过使用其索引来获取幻灯片的引用。
  • 通过设置其 LayoutType 添加 SmartArt 形状。
  • 将修改后的演示文稿写入 PPTX 文件。
import aspose.slides as slides
import aspose.slides.smartart as art

# 实例化演示文稿
with slides.Presentation() as pres:
    # 访问演示文稿幻灯片
    slide = pres.slides[0]

    # 添加 Smart Art 形状
    smart = slide.shapes.add_smart_art(0, 0, 400, 400, art.SmartArtLayoutType.BASIC_BLOCK_LIST)

    # 保存演示文稿
    pres.save("SimpleSmartArt_out.pptx", slides.export.SaveFormat.PPTX)

访问幻灯片中的 SmartArt 形状

以下代码将用于访问添加到演示文稿幻灯片中的 SmartArt 形状。在示例代码中,我们将遍历幻灯片中的每个形状,并检查它是否是 SmartArt 形状。如果形状是 SmartArt 类型,则将其强制转换为 SmartArt 实例。

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

# 加载所需的演示文稿
with slides.Presentation(path + "SmartArt.pptx") as pres:

    # 遍历第一张幻灯片中的每个形状
    for shape in pres.slides[0].shapes:
        # 检查形状是否为 SmartArt 类型
        if type(shape) is art.SmartArt:
            # 强制转换形状为 SmartArtEx
            print("形状名称:" + shape.name)

访问具有特定布局类型的 SmartArt 形状

以下示例代码将帮助访问具有特定 LayoutType 的 SmartArt 形状。请注意,您不能更改 SmartArt 的 LayoutType,因为它是只读的,并且只在添加 SmartArt 形状时设置。

  • 创建 Presentation 类的实例,并加载包含 SmartArt 形状的演示文稿。
  • 通过使用其索引获取第一张幻灯片的引用。
  • 遍历第一张幻灯片中的每个形状。
  • 检查形状是否为 SmartArt 类型,并在它是 SmartArt 时将选定的形状强制转换为 SmartArt。
  • 检查具有特定 LayoutType 的 SmartArt 形状,并执行之后需要执行的操作。
import aspose.slides as slides
import aspose.slides.smartart as art

with slides.Presentation(path + "SmartArt.pptx") as presentation:
    # 遍历第一张幻灯片中的每个形状
    for shape in presentation.slides[0].shapes:
        # 检查形状是否为 SmartArt 类型
        if type(shape) is art.SmartArt:
            # 检查 SmartArt 布局
            if shape.layout == art.SmartArtLayoutType.BASIC_BLOCK_LIST:
                print("在这里做一些事情....")

更改 SmartArt 形状样式

以下示例代码将帮助访问具有特定 LayoutType 的 SmartArt 形状。

  • 创建 Presentation 类的实例,并加载包含 SmartArt 形状的演示文稿。
  • 通过使用其索引获取第一张幻灯片的引用。
  • 遍历第一张幻灯片中的每个形状。
  • 检查形状是否为 SmartArt 类型,并在它是 SmartArt 时将选定的形状强制转换为 SmartArt。
  • 找到具有特定样式的 SmartArt 形状。
  • 为 SmartArt 形状设置新的样式。
  • 保存演示文稿。
import aspose.slides as slides
import aspose.slides.smartart as art

with slides.Presentation(path + "SmartArt.pptx") as presentation:
    # 遍历第一张幻灯片中的每个形状
    for shape in presentation.slides[0].shapes:
        # 检查形状是否为 SmartArt 类型
        if type(shape) is art.SmartArt:
            # 检查 SmartArt 样式
            if shape.quick_style == art.SmartArtQuickStyleType.SIMPLE_FILL:
                # 更改 SmartArt 样式
                smart.quick_style = art.SmartArtQuickStyleType.CARTOON

    # 保存演示文稿
    presentation.save("ChangeSmartArtStyle_out.pptx", slides.export.SaveFormat.PPTX)

更改 SmartArt 形状颜色样式

在此示例中,我们将学习如何更改任何 SmartArt 形状的颜色样式。在以下示例代码中将访问具有特定颜色样式的 SmartArt 形状并更改其样式。

  • 创建 Presentation 类的实例,并加载包含 SmartArt 形状的演示文稿。
  • 通过使用其索引获取第一张幻灯片的引用。
  • 遍历第一张幻灯片中的每个形状。
  • 检查形状是否为 SmartArt 类型,并在它是 SmartArt 时将选定的形状强制转换为 SmartArt。
  • 找到具有特定颜色样式的 SmartArt 形状。
  • 为 SmartArt 形状设置新的颜色样式。
  • 保存演示文稿。
import aspose.slides as slides
import aspose.slides.smartart as art

with slides.Presentation(path + "SmartArt.pptx") as presentation:
    # 遍历第一张幻灯片中的每个形状
    for shape in presentation.slides[0].shapes:
        # 检查形状是否为 SmartArt 类型
        if type(shape) is art.SmartArt:
            # 检查 SmartArt 颜色类型
            if shape.color_style == art.SmartArtColorType.COLORED_FILL_ACCENT1:
                # 更改 SmartArt 颜色类型
                shape.color_style = art.SmartArtColorType.COLORFUL_ACCENT_COLORS

    # 保存演示文稿
    presentation.save("ChangeSmartArtColorStyle_out.pptx", slides.export.SaveFormat.PPTX)