C#提取PPT文本——提取SmartArt中的文本、批注中的文本
提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本。同样的,程序里面需要使用到Spire.Presentation for .NET,在编写代码前,需先安装,并添引用dll文件到项目程序中。
1.提取SmartArt中的文本
测试文件如下(在第二张幻灯片中插入了SmartArt图形,包含文本内容)
【C#】
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(@"C:\Users\Administrator\Desktop\Sample.pptx");
//新建一个StringBuilder对象
StringBuilder st = new StringBuilder();
//遍历文档中的SmartArt图形
for (int i = ; i < ppt.Slides.Count; i++)
{
for (int j = ; 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 = ; k < smartArt.Nodes.Count; k++)
{
st.Append(smartArt.Nodes[k].TextFrame.Text);
}
}
}
}
//将文本写入TXT文档
File.WriteAllText("Result.txt", st.ToString());
}
}
}
提取的文本如下图所示:
2.提取批注中文本
测试文件如下(在第一张幻灯片中,插入了批注,包含文本内容)
【C#】
using System;
using System.Text;
using Spire.Presentation;
using System.IO; namespace ExtractTextFromComment_PPT
{
class Program
{
static void Main(string[] args)
{
//实例化一个Presentation类,并加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\comment.pptx");
//创建一个StringBuilder对象
StringBuilder str = new StringBuilder();
//获取第一张幻灯片中的所有批注
Comment[] comments = ppt.Slides[].Comments;
//遍历批注内容
for (int i = ; i < comments.Length; i++)
{
str.Append(comments[i].Text + "\r\n");
}
//将文本写入TXT文档
File.WriteAllText("TextFromComment.txt", str.ToString());
}
}
}
调试运行程序后,生成文档,如下:
以上方法是提取PPT SmartArt和批注中文本的实现方法,供参考,希望能对您有所帮助,感谢阅读!
(本文完)
C#提取PPT文本——提取SmartArt中的文本、批注中的文本的更多相关文章
- C# 提取PPT文本和图片的实现方案
在图文混排的文档中,我们可以根据需要将文档中的文字信息或者图片提取出来,通过C#代码可以提取Word和PDF文件中的文本和图片,那么同样的,我们也可以提取PPT幻灯片当中的文本和图片.本篇文档将讲述如 ...
- 提取PPT文件中的Vba ProjectStg Compressed Atom。Extract PPT VBA Compress Stream
http://msdn.microsoft.com/en-us/library/cc313106(v=office.12).aspx 微软文档 PartI ********************* ...
- R+OCR︱借助tesseract包实现图片文本提取功能
2016年11月,Jeroen Ooms在CRAN发布了tesseract包,实现了R语言对简单图片的文本提取.分析功能. 利用开源OCR引擎进行图片处理,目前可以识别超过100种语言,R语言可以借助 ...
- lucene索引查看工具luke和文本提取工具Tika
luke可以方便的查看lucene的索引信息,当然也可以查看solr和es中的索引信息(基于lucene实现). 查看索引前,要注意lucene版本的问题,高版本的lucene用低版本的luke工具就 ...
- 基于 Python 的自动文本提取:抽象法和生成法的比较
我们将现有的 提取方法(Extractive)(如LexRank,LSA,Luhn和Gensim现有的TextRank摘要模块)与含有51个文章摘要对的Opinosis数据集进行比较.我们还尝试使用T ...
- POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取
第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...
- 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符
原文:在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符 最近做项目的时候,经常用到一个字符串中的某些字符,处理起来非常的棘手,现在用下面的方法就可以很方便的从字符串中处理你想要的 ...
- Java 读取Word批注中的文本和图片
本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.关于操作Word批注的方法还可以参考这两篇文章:Java 添加.回复.修改.删除Word批注:Java 给Word指定字符串添加批 ...
- 将html中的br换行符转换为文本输入中的换行符(转)
PHP中的有个非常好的函数:nl2br(),将文本框中的换行转换为HTML页面的<br />,但是如何实现将html中的<br />换行符转换为文本框中的换行符呢?下面这几个方 ...
随机推荐
- [LeetCode] Score After Flipping Matrix 翻转矩阵后的分数
We have a two dimensional matrix A where each value is 0 or 1. A move consists of choosing any row o ...
- android sdk 历史版本下载地址
https://developer.android.google.cn/studio/archive#android-studio-3-0?utm_source=androiddevtools& ...
- java中List<Map<String, Object>>关于null的判断
List<Map<String, Object>> selectTmFileInfo = fileInfoService.selectTmFileInfoByToken(cTo ...
- [Swift]LeetCode458. 可怜的小猪 | Poor Pigs
There are 1000 buckets, one and only one of them contains poison, the rest are filled with water. Th ...
- Redis 设计与实现 (四)--事件、客户端
事件 一.文件事件 文件事件处理器使用I/O多路复用程序来同时监听多个套接字, 监听套接字,分配对应的处理事件. 四个组成部分:套接字 .I/O多路复用 . 文件事件分派器 . 事件处理器 连接应答处 ...
- controller分支实现前台显示弹框同时转发
controller分支实现前台显示弹框,前台不需要进行什么操作, 前台请求后台的分支即可. controller层(标红的地方是(alert('账号或密码错误!请重新输入!!!!') ...
- 让一个数组中存在N多个函数。让每个函数执行的 时候自动加1
function test(){ var arr = [ ]; for (var i = 0; i < 10; i++) { (function(i){ arr[i] = function(){ ...
- Python内置函数(4)——ascii
英文文档: ascii(object) As repr(), return a string containing a printable representation of an object, b ...
- SpringBoot是如何动起来的
SpringBoot是如何动起来的 程序入口 SpringApplication.run(BeautyApplication.class, args); 执行此方法来加载整个SpringBoot的环境 ...
- Mysql实战面试题
一.索引 B+ Tree 原理 1. 数据结构 B Tree 指的是 Balance Tree,也就是平衡树.平衡树是一颗查找树,并且所有叶子节点位于同一层. B+ Tree 是基于 B Tree 和 ...