此条经验将分享通过C#编程读取PPT幻灯片中SmartArt中的文本内容的方法。
工具/原料
Free Spire.Presentation for .NET 3.3(社区版)
Visual Studio
dll引用
1、在E-iceblue官网或者Nuget网站上下载Free Spire.Presentation for .NET的安装包后,注意在编辑代码骀旬沃啭时,添加引用Spire.Presentation.dll到程序。dll文件可在安装路径下的Bin文件夹中获取。
C#代码(供参考)
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、完成代码后,调试运行程序,生成读取结果(如下图):