在演示文稿中,SmartArt 用于以视觉形式呈现信息。通常,演示者使用 SmartArt 使简单的文本更具吸引力。此外,它还用于创建流程图、流程、不同实体之间的关系等。在本文中,您将学习如何使用 Java 以编程方式在 PowerPoint 演示文稿中创建 SmartArt。

用于在 PowerPoint 中创建 SmartArt 的 Java API

为了在 PowerPoint 演示文稿中操作 SmartArt,我们将使用 Aspose.Slides for Java。它是一个功能强大的库,允许从头开始创建和操作 PowerPoint 和 OpenOffice 演示文稿。您可以使用以下 Maven 配置或 下载 其 JAR 安装 API。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

使用 Java 在 PowerPoint 中创建 SmartArt 形状

Aspose.Slides for Java 使得在演示文稿中创建 SmartArt 形状变得非常容易。让我们使用 Java 在 PowerPoint 演示文稿中从头开始创建一个简单的 SmartArt 形状。

以下代码示例演示如何在 PowerPoint 演示文稿中创建 SmartArt 形状。

// 创建演示文稿或加载现有演示文稿
Presentation pres = new Presentation();
try {
    // 获取第一张幻灯片
    ISlide slide = pres.getSlides().get_Item(0);
    
    // 添加 SmartArt 形状
    ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    
    // 保存演示文稿
    pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

以下屏幕截图显示了上述代码示例的输出。

在 PowerPoint 演示文稿中访问 SmartArt 形状

您还可以访问现有 PowerPoint 演示文稿中的 SmartArt 形状并动态更新它们。以下是使用 Java 在 PowerPoint 演示文稿中访问 SmartArt 形状的步骤。

  • 首先,使用 Presentation 类创建一个新的演示文稿或加载一个现有的演示文稿。
  • 然后,将所需幻灯片的引用获取到 ISlide 对象中。
  • 使用 ISlide.getShapes() 集合循环遍历幻灯片中的形状。
  • 如果形状的类型为 ISmartArt,则将其引用获取到 ISmartArt 对象中。
  • 如果需要,使用 ISmartArt.getLayout() 过滤特定布局的 SmartArt 形状。

以下代码示例演示如何访问 PowerPoint 演示文稿中的 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();
}

使用 Java 更改 SmartArt 形状的样式

您还可以使用 Aspose.Slides 修改 SmartArt 形状的样式。以下步骤演示如何访问 PowerPoint 演示文稿中的 SmartArt 形状并使用 Java 更改其样式。

  • 首先,使用 Presentation 类创建一个新的演示文稿或加载一个现有的演示文稿。
  • 然后,将所需幻灯片的引用获取到 ISlide 对象中。
  • 使用 ISlide.getShapes() 集合循环遍历幻灯片中的形状。
  • 如果形状的类型为 ISmartArt,则将其引用获取到 ISmartArt 对象中。
  • 更改所需的样式,即 ColorStyle、QuickStyle 等。
  • 最后,使用 Presentation.save(String, SaveFormat) 方法保存更新的演示文稿。

以下代码示例演示如何更改 PowerPoint 演示文稿中 SmartArt 形状的样式。

// 加载演示文稿
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);
            }
          
            // 检查 SmartArt 颜色类型
            if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
                // 更改 SmartArt 颜色类型
                smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
            }
        }
    }
    // 保存演示文稿
    pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

获取免费 API 许可证

通过获得免费的临时许可证,使用 Aspose.Slides for Java,不受评估限制。

结论

在本文中,您学习了如何使用 Java 在 PowerPoint 演示文稿中创建 SmartArt。此外,您还了解了如何访问 SmartArt 形状并以编程方式更改其样式。您可以浏览 文档 以了解有关 Aspose.Slides for Java 的更多信息。此外,您可以通过我们的 论坛 提问。

也可以看看