演示文稿中的 SmartArt 用于以视觉形式提供信息。有时,选择使简单的文本更具吸引力。而在其他情况下,它用于演示流程图、流程、不同实体之间的关系等。在本文中,您将学习如何使用 C# 以编程方式在 PowerPoint 演示文稿中创建 SmartArt。
- .NET API 在 PowerPoint 中创建 SmartArt
- 在 PowerPoint 中创建 SmartArt 形状
- 在 PowerPoint 中访问 SmartArt 形状
- 更改 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 形状。
- 使用 Presentation 类创建新的演示文稿或加载现有的演示文稿。
- 获取所需幻灯片的引用到 ISlide 对象中。
- 使用 ISlide.Shapes.AddSmartArt() 方法创建 SmartArt。
- 使用 Presentation.Save(String, SaveFormat) 方法保存更新的演示文稿。
以下代码示例演示如何在 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);
}
以下屏幕截图显示了上述代码示例的输出。
使用 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 形状的样式。
- 使用 Presentation 类创建新的演示文稿或加载现有的演示文稿。
- 获取所需幻灯片的引用到 ISlide 对象中。
- 使用 ISlide.Shapes 集合循环遍历幻灯片中的形状。
- 如果形状的类型为 ISmartArt,则将其引用获取到 ISmartArt 对象中。
- 更改所需的样式,即ISmartArt.ColorStyle、ISmartArt.QuickStyle等。
- 使用 Presentation.Save(String, SaveFormat) 方法保存更新的演示文稿。
以下代码示例演示如何更改 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 的更多信息。此外,您可以通过我们的 论坛 提问。