共计 2595 个字符,预计需要花费 7 分钟才能阅读完成。
在学习或者日常工作中,有时咱们须要把幻灯片的货色整顿成文字,而从 PowerPoint 演示文稿中一张一张的整顿手动复制粘贴,整个过程会十分费精力且耗时。那么怎么样能力比拟轻松且疾速地提取 PowerPoint 中的文字呢? 明天这篇文章就将为你介绍如何通过编程形式提取 PowerPoint 中的文字,文章最初附有 C#/VB.NET 代码以及效果图,心愿对你有所帮忙。
程序环境
本次测试时,在程序中引入 Free Spire.Presentation for .NET。可通过以下办法援用 Free Spire.Presentation.dll 文件:
办法 1:将 Free Spire.Presentation for .NET 下载到本地,解压,装置。装置实现后,找到装置门路下 BIN 文件夹中的 Spire.Presentation.dll。而后在 Visual Studio 中关上“解决方案资源管理器”,鼠标右键点击“援用”,“增加援用”,将本地门路 BIN 文件夹下的 dll 文件增加援用至程序。
办法 2:通过 NuGet 装置。可通过以下 2 种办法装置:
(1)能够在 Visual Studio 中关上“解决方案资源管理器”,鼠标右键点击“援用”,“治理 NuGet 包”,而后搜寻“Free Spire.Presentation”,点击“装置”。期待程序安装实现。
(2)将以下内容复制到 PM 控制台装置。
Install-Package FreeSpire.Presentation -Version 7.8.0
从 PowerPoint 演示文稿中提取文本
为了便于在 PowerPoint 文档中共享或传递文本信息,有时须要进行文本提取操作。以下是从所有演示文稿幻灯片中提取文本并保留在 TXT 文件中的步骤。
- 初始化 Presentation 类的实例。
- 应用 Presentation.LoadFromFile() 办法加载 PowerPoint 文档示例。
- 创立 StringBuilder 实例。
- 遍历文档中的每张幻灯片,而后遍历每张幻灯片中的所有形态。
- 确定形态是否为 IAutoShape 类型。如果是,则遍历每个形态中的所有段落,并应用 TextParagraph.Text 属性获取段落文本。
- 应用 StringBuilder.AppendLine() 办法将提取的文本附加到 StringBuilder 实例
-
创立一个新的 txt 文件,并应用 File.WriteAllText() 办法将提取的文本写入该文件。
残缺代码
C#
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();}
}
}
VB.NET
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
效果图
—本文完—