演示文稿中的 SmartArt 用于以视觉形式提供信息。有时,选择使简单的文本更具吸引力。而在其他情况下,它用于演示流程图、流程、不同实体之间的关系等。在本文中,您将学习如何使用 C# 以编程方式在 PowerPoint 演示文稿中创建 SmartArt。

.NET API 在 PowerPoint 中创建 SmartArt

要在 PowerPoint 演示文稿中使用 SmartArt,我们将使用 Aspose.Slides for .NET。它是一个强大的类库,用于创建和操作 PowerPoint 和 OpenOffice 演示文稿。您可以通过 NuGet下载 其 DLL 安装 API。

PM> Install-Package Aspose.Slides.NET

使用 C# 在 PowerPoint 中创建 SmartArt 形状

Aspose.Slides for .NET 提供了在演示文稿中创建 SmartArt 形状的最简单方法。为了演示,让我们使用 C# 在 PowerPoint 演示文稿中从头开始创建 SmartArt 形状。

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

// 创建演示文稿或加载现有演示文稿
using (Presentation pres = new Presentation())
{
    // 访问演示幻灯片
    ISlide slide = pres.Slides[0];

    // 添加 SmartArt 形状
    ISmartArt smart = slide.Shapes.AddSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    smart.AllNodes[0].TextFrame.Text = "First Block";
    smart.AllNodes[1].TextFrame.Text = "Second Block";
    
    // 保存演示文稿
    pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

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

在 PowerPoint C# 中创建 SmartArt

使用 C# 在 PowerPoint 中访问 SmartArt 形状

您还可以访问现有 PowerPoint 演示文稿中的 SmartArt 形状。访问后,您可以根据需要对其进行修改。以下是使用 C# 在 PowerPoint 演示文稿中访问 SmartArt 形状的步骤。

  • 使用 Presentation 类创建新的演示文稿或加载现有的演示文稿。
  • 获取所需幻灯片的引用到 ISlide 对象中。
  • 使用 ISlide.Shapes 集合循环遍历幻灯片中的形状。
  • 如果形状是 ISmartArt 类型,则将其引用获取到 ISmartArt 对象中。
  • 如果需要,使用 ISmartArt.Layout 属性过滤特定布局的 SmartArt 形状。

以下代码示例演示如何访问 PowerPoint 演示文稿中的 SmartArt 形状。

// 加载演示文稿
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{
    // 遍历所需幻灯片中的每个形状
    foreach (IShape shape in pres.Slides[0].Shapes)
    {
        // 检查形状是否为 SmartArt 类型
        if (shape is ISmartArt)
        {
            // 将形状转换为 SmartArt
            ISmartArt smart = (ISmartArt)shape;
            System.Console.WriteLine("Shape Name:" + smart.Name);
            
            // 检查 SmartArt 布局
            //if (smart.Layout == SmartArtLayoutType.BasicBlockList)
            //{
            //   Console.WriteLine("在这里做点什么......");
            //}
        }
    }
}

使用 C# 更改 SmartArt 形状的样式

访问 SmartArt 形状后,您也可以更改其样式。以下步骤演示了如何使用 C# 在 PowerPoint 演示文稿中更改 SmartArt 形状的样式。

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

// 加载演示文稿
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
    // 遍历第一张幻灯片中的每个形状
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        // 检查形状是否为 SmartArt 类型
        if (shape is ISmartArt)
        {
            // 将形状转换为 SmartArt
            ISmartArt smart = (ISmartArt)shape;

            // 检查 SmartArt 样式
            if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
            {
                // 更改 SmartArt 样式
                smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
            }
            
            // 检查 SmartArt 颜色类型
            if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
            {
                // 更改 SmartArt 颜色类型
                smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
            }
        }
    }

    // 保存演示文稿
    presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}

获取免费 API 许可证

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

结论

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

也可以看看