当将包含大量媒体文件和图像的 powerpoint 文档发送给他人进行文本校对时,您可能会发现由于文件大小太大,传输速度相当慢。在这种情况下,最好先将 powerpoint 中的文本提取到 ms word 或记事本中,然后只发送文本内容。此外,还可以对提取的文本内容进行存档或备份,以备将来参考。在本文中,您将学习如何使用 spire.presentation for .net 在 powerpoint 演示文稿中提取文本。
安装 spire.presentation for .net
首先,您需要添加 spire.presentation for .net 包中包含的 dll 文件作为 .net 项目中的引用。dll 文件可以从此链接下载或通过 安装。
pm> install-package spire.presentation
从 powerpoint 演示文稿中提取文本
为了便于在 powerpoint 文档中共享或传递文本信息,有时需要进行文本提取操作。以下是从所有演示文稿幻灯片中提取文本并保存在 txt 文件中的步骤。
- 初始化 presentation 类的实例。
- 使用 presentation.loadfromfile() 方法加载 powerpoint 文档示例。
- 创建 stringbuilder 实例。
- 遍历文档中的每张幻灯片,然后遍历每张幻灯片中的所有形状。
- 确定形状是否为 iautoshape 类型。如果是,则遍历每个形状中的所有段落,并使用 textparagraph.text 属性获取段落文本。
- 使用 stringbuilder.appendline() 方法将提取的文本附加到stringbuilder实例
- 创建一个新的txt文件,并使用 file.writealltext() 方法将提取的文本写入该文件。
- c#
- vb.net
using spire.presentation;
using spire.presentation.charts;
using spire.presentation.converter.equation.word;
using system;
using system.io;
using system.text;
namespace extracttext
{
class program
{
static void main(string[] args)
{
//初始化presentation类的实例
presentation presentation = new presentation();
//载powerpoint文档示例
presentation.loadfromfile("呼吁反虐待动物立法.pptx");
//创建stringbuilder实例
stringbuilder sb = new stringbuilder();
//遍历文档中的每张幻灯片
foreach (islide slide in presentation.slides)
{
//遍历每张幻灯片中的每个形状
foreach (ishape shape in slide.shapes)
{
//检查形状是否为iautoshape类型
if (shape is iautoshape)
{
//以每种形状遍历所有段落
foreach (textparagraph tp in (shape as iautoshape).textframe.paragraphs)
{
//提取文本并保存到stringbuilder实例
sb.appendline(tp.text);
}
}
}
}
//创建一个新的txt文件以保存提取的文本
file.writealltext("提取文本.txt", sb.tostring());
presentation.dispose();
}
}
}
imports spire.presentation
imports spire.presentation.charts
imports spire.presentation.converter.equation.word
imports system.io
imports system.text
namespace extracttext
friend class program
private shared sub main(byval args as string())
'初始化presentation类的实例
dim presentation as presentation = new presentation()
'载powerpoint文档示例
presentation.loadfromfile("呼吁反虐待动物立法.pptx")
'创建stringbuilder实例
dim sb as stringbuilder = new stringbuilder()
'遍历文档中的每张幻灯片
for each slide as islide in presentation.slides
'遍历每张幻灯片中的每个形状
for each shape as ishape in slide.shapes
'检查形状是否为iautoshape类型
if typeof shape is iautoshape then
'以每种形状遍历所有段落
for each tp as textparagraph in trycast(shape, iautoshape).textframe.paragraphs
'提取文本并保存到stringbuilder实例
sb.appendline(tp.text)
next
end if
next
next
'创建一个新的txt文件以保存提取的文本
call file.writealltext("提取文本.txt", sb.tostring())
presentation.dispose()
end sub
end class
end namespace
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。