C# 读取PPT幻灯片SmartArt中的文本
1、在E-iceblue官网或者Nuget网站上下载Free Spire.Presentation for .NET的安装包后,注意在编辑代码时,添加引用Spire.Presentation.dll到程序。dll文件可在安装路径下的Bin文件夹中获取。

1、测试文档如下,幻灯片中的含有一个SmartArt。下面将演示读取其中的文本内容。

2、using Spire.Presentation.Diagrams;
using System.Drawing;
using System.Text;
using System.IO;
using Spire.Presentation;
namespace ExtractTextFromSmartArt_PPT
{
class Program
{
static void Main(string[] args)
{
//初始化一个Presentation类实例,并加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("test.pptx");
//新建一个StringBuilder对象
StringBuilder st = new StringBuilder();
//遍历文档中的SmartArt图形
for (int i = 0; i < ppt.Slides.Count; i++)
{
for (int j = 0; j < ppt.Slides[i].Shapes.Count; j++)
{
if (ppt.Slides[i].Shapes[j] is ISmartArt)
{
ISmartArt smartArt = ppt.Slides[i].Shapes[j] as ISmartArt;
for (int k = 0; k < smartArt.Nodes.Count; k++)
{
st.Append(smartArt.Nodes[k].TextFrame.Text);
}
}
}
}
//将文本写入TXT
File.WriteAllText("Result.txt", st.ToString());
System.Diagnostics.Process.Start("Result.txt");
}
}
}
3、完成代码后,调试运行程序,生成读取结果(如下图):
