C#提取PPT文本——提取SmartArt中的文本、批注中的文本

时间:2022-04-05 15:37:38

提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本。同样的,程序里面需要使用到Spire.Presentation for .NET,在编写代码前,需先安装,并添引用dll文件到项目程序中。

1.提取SmartArt中的文本

测试文件如下(在第二张幻灯片中插入了SmartArt图形,包含文本内容

C#提取PPT文本——提取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());
}
}
}

提取的文本如下图所示:

C#提取PPT文本——提取SmartArt中的文本、批注中的文本

2.提取批注中文本

测试文件如下(在第一张幻灯片中,插入了批注,包含文本内容

C#提取PPT文本——提取SmartArt中的文本、批注中的文本

【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());
}
}
}

调试运行程序后,生成文档,如下:

C#提取PPT文本——提取SmartArt中的文本、批注中的文本

以上方法是提取PPT SmartArt和批注中文本的实现方法,供参考,希望能对您有所帮助,感谢阅读!

(本文完)