C#提取PPT文本——提取SmartArt中的文本、批注中的文本
发布时间:2020-12-16 01:07:13 所属栏目:百科 来源:网络整理
导读:提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本。同样的,程序里面需要使用到Spire.Presentation for .NET,在编写代码前,需
提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本。同样的,程序里面需要使用到Spire.Presentation for .NET,在编写代码前,需先安装,并添引用dll文件到项目程序中。 1.提取SmartArt中的文本 测试文件如下(在第二张幻灯片中插入了SmartArt图形,包含文本内容) 【C#】 1 using Spire.Presentation.Diagrams; 2 System.Drawing; 3 System.Text; 4 System.IO; 5 Spire.Presentation; 6 7 namespace ExtractTextFromSmartArt_PPT 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //初始化一个Presentation类实例,并加载文档 14 Presentation ppt = new Presentation(); 15 ppt.LoadFromFile(@"C:UsersAdministratorDesktopSample.pptx"); 16 新建一个StringBuilder对象 17 StringBuilder st = StringBuilder(); 18 遍历文档中的SmartArt图形 19 for (int i = 0; i < ppt.Slides.Count; i++) 20 { 21 int j = 0; j < ppt.Slides[i].Shapes.Count; j++22 { 23 if (ppt.Slides[i].Shapes[j] is ISmartArt) 24 { 25 ISmartArt smartArt = ppt.Slides[i].Shapes[j] as ISmartArt; 26 int k = 0; k < smartArt.Nodes.Count; k++27 { 28 st.Append(smartArt.Nodes[k].TextFrame.Text); 29 } 30 } 31 } 32 } 33 将文本写入TXT文档 34 File.WriteAllText("Result.txt,st.ToString()); 35 } 36 } 37 } 提取的文本如下图所示: ? 2.提取批注中文本 测试文件如下(在第一张幻灯片中,插入了批注,包含文本内容) ? 【C#】 System; 5 6 ExtractTextFromComment_PPT 8 9 10 11 12 实例化一个Presentation类,并加载文档 13 Presentation ppt = 14 ppt.LoadFromFile(C:UsersAdministratorDesktopcomment.pptx15 创建一个StringBuilder对象 16 StringBuilder str = 17 获取第一张幻灯片中的所有批注 18 Comment[] comments = ppt.Slides[0].Comments; 遍历批注内容 20 0; i < comments.Length; i++21 22 str.Append(comments[i].Text + rn23 24 25 File.WriteAllText(TextFromComment.txt26 28 } 调试运行程序后,生成文档,如下: ? 以上方法是提取PPT SmartArt和批注中文本的实现方法,供参考,希望能对您有所帮助,感谢阅读! ? (本文完) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |