-
C#提取PPT文本——提取SmartArt中的文本、批注中的文本
提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本。同样的,程序里面需要使用到Spire.Presentation for .NET,在编写代码前,需先安装,并添引用dll文件到项目程序中。
1.提取SmartArt中的文本
测试文件如下(在第二张幻灯片中插入了SmartArt图形,包含文本内容)
【C#】
1 using Spire.Presentation.Diagrams; 2 using System.Drawing; 3 using System.Text; 4 using System.IO; 5 using 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:\Users\Administrator\Desktop\Sample.pptx"); 16 //新建一个StringBuilder对象 17 StringBuilder st = new StringBuilder(); 18 //遍历文档中的SmartArt图形 19 for (int i = 0; i < ppt.Slides.Count; i++) 20 { 21 for (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 for (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#】
1 using System; 2 using System.Text; 3 using Spire.Presentation; 4 using System.IO; 5 6 namespace ExtractTextFromComment_PPT 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 //实例化一个Presentation类,并加载文档 13 Presentation ppt = new Presentation(); 14 ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\comment.pptx"); 15 //创建一个StringBuilder对象 16 StringBuilder str = new StringBuilder(); 17 //获取第一张幻灯片中的所有批注 18 Comment[] comments = ppt.Slides[0].Comments; 19 //遍历批注内容 20 for (int i = 0; i < comments.Length; i++) 21 { 22 str.Append(comments[i].Text + "\r\n"); 23 } 24 //将文本写入TXT文档 25 File.WriteAllText("TextFromComment.txt", str.ToString()); 26 } 27 } 28 }
调试运行程序后,生成文档,如下:
以上方法是提取PPT SmartArt和批注中文本的实现方法,供参考,希望能对您有所帮助,感谢阅读!
原文链接:https://www.cnblogs.com/Yesi/p/7804541.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数