使用C#代码从PPT文件中提取文本的方法示例

 更新时间:2025年11月10日 09:21:18   作者:2501_93070778  
当你将包含大量媒体文件和图片的 PowerPoint 文档发送给他人进行文字校对时,可能会发现由于文件体积较大,传输速度非常慢,本文将介绍如何使用 Spire.Presentation for .NET 在 C# 和 VB.NET 中从 PowerPoint 演示文稿中提取文本,需要的朋友可以参考下

引言

当你将包含大量媒体文件和图片的 PowerPoint 文档发送给他人进行文字校对时,可能会发现由于文件体积较大,传输速度非常慢。在这种情况下,最好先将 PowerPoint 中的文字内容提取到 MS Word 或记事本中,然后只发送文本内容。除此之外,提取出的文字内容还可以用于归档或备份,以便日后参考。本文将介绍如何使用 Spire.Presentation for .NET 在 C# 和 VB.NET 中从 PowerPoint 演示文稿中提取文本。

安装 Spire.Presentation for .NET

首先,你需要在 .NET 项目中添加 Spire.Presentation for .NET 包中包含的 DLL 文件作为引用。这些 DLL 文件可以通过以下链接下载,或通过 NuGet 进行安装。

PM> Install-Package Spire.Presentation

在 C# 和 VB.NET 中从 PowerPoint 演示文稿中提取文本

为了便于共享或传递 PowerPoint 文档中的文字信息,有时需要执行文字提取操作。以下是从所有幻灯片中提取文本并将其保存为 TXT 文件的步骤:

  1. 初始化一个 Presentation 类的实例。
  2. 使用 Presentation.LoadFromFile() 方法加载一个示例 PowerPoint 文档。
  3. 创建一个 StringBuilder 实例。
  4. 遍历文档中的每一张幻灯片,然后遍历每张幻灯片中的所有形状。
  5. 判断形状是否属于 IAutoShape 类型。如果是,则遍历该形状中的所有段落,并通过 TextParagraph.Text 属性获取段落文本。
  6. 使用 StringBuilder.AppendLine() 方法将提取的文本追加到 StringBuilder 实例中。
  7. 创建一个新的 TXT 文件,并使用 File.WriteAllText() 方法将提取的文本写入文件。

使用Spire.Presentation for .NET提取文本的示例代码如下:

using Spire.Presentation;
using System.IO;
using System.Text;
namespace ExtractText
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化 Presentation 类的实例
            Presentation presentation = new Presentation();
 
            //加载示例 PowerPoint 文档
            presentation.LoadFromFile("Island.pptx");
            //加载示例 PowerPoint 文档
            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("ExtractText.txt", sb.ToString());
        }
    }
}

到此这篇关于使用C#代码从PPT文件中提取文本的方法示例的文章就介绍到这了,更多相关C#提取PPT文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Unity3D在Preview中打印日志的方法

    Unity3D在Preview中打印日志的方法

    这篇文章主要为大家详细介绍了Unity3D在Preview中打印日志的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • C#中DataGridView动态添加行及添加列的方法

    C#中DataGridView动态添加行及添加列的方法

    这篇文章主要介绍了C#中DataGridView动态添加行及添加列的方法,涉及C#中DataGridView针对行与列动态操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • C#设计模式编程中运用适配器模式结构实战演练

    C#设计模式编程中运用适配器模式结构实战演练

    这篇文章主要介绍了C#设计模式编程中运用适配器模式结构实战演练,并总结了适配器模式的优缺点和适用场景以及.NET框架中的应用,需要的朋友可以参考下
    2016-02-02
  • C#窗体间通讯处理的几种方法总结

    C#窗体间通讯处理的几种方法总结

    这篇文章主要介绍了
    2013-11-11
  • C#迭代器方法介绍

    C#迭代器方法介绍

    这篇文章主要介绍了C#迭代器方法,可以使用foreach循环语句进行的迭代的方法,称为可迭代方法,或者迭代器方法,方法操作,想了解更多内容得小伙伴可以学习下面文章内容,希望给你的学习带来帮助
    2022-03-03
  • DevExpress TreeList 常见问题解决方法

    DevExpress TreeList 常见问题解决方法

    这篇文章主要介绍了DevExpress TreeList 常见问题解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • C#中Backgroundworker与Thread的区别

    C#中Backgroundworker与Thread的区别

    本文主要介绍了C#中Backgroundworker与Thread的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C#实现日期操作类DateTime的方法示例

    C#实现日期操作类DateTime的方法示例

    C#中日期和时间操作主要通过System.DateTime类实现,提供了创建、格式化、比较和计算等功能,下面就来具体介绍一下,感兴趣的可以了解一下
    2025-03-03
  • C#中Hashtable和Dictionary的区别与用法示例

    C#中Hashtable和Dictionary的区别与用法示例

    由于 Hashtable 和 Dictionary 同时存在, 在使用场景上必然存在选择性, 并不任何时刻都能相互替代。所以这篇文章主要给大家介绍了关于C#中Hashtable和Dictionary区别的相关资料,需要的朋友可以参考下
    2021-05-05
  • C#装箱和拆箱操作实例分析

    C#装箱和拆箱操作实例分析

    这篇文章主要介绍了C#装箱和拆箱操作,结合实例形式分析了C#中装箱与拆箱的概念、用法及相关注意事项,需要的朋友可以参考下
    2016-08-08

最新评论