`

C# 如何提取PPT文本和图片

阅读更多

PPT是一种常用的演示工具,在各行各业都扮演着不可或缺的作用。在处理办公文档的过程中会遇到需要提取文档文本或者图片的情况。如果需要操作的文档包含的文字和图片不是很多的时候,我们尚可手动一点点把内容复制粘贴整理出来,但对于较大的文档,文字和图片内容都比较多的情况,又该如何准确无误地处理?本篇文章提供了实现提取PPT文本和图片的方法。(本文转自:http://www.cnblogs.com/Yesi/p/7770802.html,经测试有效)

 

注意:要实现上述操作须使用组件Spire.Presentation,安装后添加引用dll文件,同时添加相应的命名空间。具体操作可参考下面的代码。

原PPT文档:



1.提取文本

全部代码如下:

using System;
using System.Text;
using Spire.Presentation;
using System.IO;
using System.Diagnostics;

namespace ExtractText_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Presentation实例并加载文档
            Presentation presentation = new Presentation(@"C:\Users\Administrator\Desktop\sample.pptx", FileFormat.Pptx2010);

            //创建一个StringBuilder类
            StringBuilder sb = new StringBuilder();
            //遍历文档,提取文本内容
            foreach (ISlide slide in presentation.Slides)
            {
                foreach (IShape shape in slide.Shapes)
                {
                    if (shape is IAutoShape)
                    {
                        foreach (TextParagraph tp in (shape as IAutoShape).TextFrame.Paragraphs)
                        {
                            sb.Append(tp.Text + Environment.NewLine);
                        }
                    }

                }
            }
            //保存文档
            File.WriteAllText("target.txt", sb.ToString());
            Process.Start("target.txt");
        }
    }
}

 

提取出来的文本如下所示:



2.提取文本

 2.1 提取全部文本

using Spire.Presentation;
using System.Drawing;

namespace ExtractImage_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化一个Presentation类实例,并加载文档
            Presentation ppt = new Presentation();
            ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pptx");

            //遍历文档
            for (int i = 0; i < ppt.Images.Count; i++)
            {
                Image image = ppt.Images[i].Image;
                //提取图片
                image.Save(string.Format(@"..\..\Images{0}.png", i));
            }
        }
    }
}

 效果示例:

 



 2.2提取特定幻灯片的图片

using System.Drawing;
using Spire.Presentation;

namespace ExtractImageFromSpecialSlides_PPT
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Presentation类实例,并加载文档
            Presentation PPT = new Presentation();
            PPT.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pptx");

            //遍历文档,获取第四张幻灯片,提取图片
            int i = 0;
            foreach (IShape s in PPT.Slides[3].Shapes)
            {
                if (s is SlidePicture)
                {
                    SlidePicture ps = s as SlidePicture;
                    ps.PictureFill.Picture.EmbedImage.Image.Save(string.Format("{0}.png", i));
                    i++;
                }
                if (s is PictureShape)
                {
                    PictureShape ps = s as PictureShape;
                    ps.EmbedImage.Image.Save(string.Format("{0}.png", i));
                    i++;
                }
            }

        }
    }
}

 效果示例:

 




 

  • 大小: 102.4 KB
  • 大小: 148.6 KB
  • 大小: 202.2 KB
  • 大小: 210.5 KB
分享到:
评论

相关推荐

    C#提取PPT文本和图片的实现方法

    C# 提取PPT文本和图片的实现方法是通过编程语言C#来对PowerPoint文件进行操作,以达到提取其中文本和图片内容的目的。对于需要处理大量PPT文档并从中提取数据的场景,这种技术显得非常有用。本文将详细阐述如何在C#...

    C# 生成ppt PPt C# 生成ppt PPt

    根据给定的信息,本文将详细解释如何使用C#来生成PPT文档,主要涉及创建文本、图片、多媒体对象以及Flash对象等内容。 ### C# 生成 PPT 的基本原理 在.NET框架下,C#可以通过调用Microsoft Office Interop库来操作...

    C#生成PPT的2种方法

    在.NET框架中,C#程序员可以使用不同的库和方法来创建和编辑PowerPoint(PPT)文件。本文将深入探讨两种常见的C#生成PPT的方法,以帮助开发者更好地理解和实现这个功能。 首先,我们来看第一种方法:使用Microsoft ...

    c# 操作 PPT,动态生成PPT

    总的来说,C#操作PPT涉及的主要知识点包括:使用Interop库与PowerPoint交互、幻灯片和内容的创建与编辑、文本和图片的插入、动画和过渡效果的设置,以及模板的利用。在实际开发中,根据需求可以进行更复杂的定制和...

    C#教程PPT完整版.rar

    这份"C#教程PPT完整版"是学习C#编程的宝贵资源,涵盖了C#语言的核心概念和技术,适合初学者以及希望深入理解C#的开发者。 教程的PDF版内容丰富,主要分为以下几个部分: 1. **语言基础**:这部分讲解了C#的基本...

    C#提取PPT中资源.rar

    本示例聚焦于如何使用C#编程语言通过OpenXML SDK来提取PPT文件中的资源,包括音频、视频、图片和文本。这些功能对于在Unity这样的游戏引擎中复用PPT内容尤其有用,例如创建互动式教学或演示场景。 首先,OpenXML ...

    C#读取DOC PPT EXCEL转换为文本TXT

    本主题聚焦于使用C#处理Office文档,包括DOC(Word文档)、PPT(PowerPoint演示文稿)和EXCEL(电子表格),并将其内容转换成纯文本TXT格式。这种操作在数据提取、文本分析或跨平台兼容性需求时非常有用。 首先,让...

    c# 操作ppt 源码

    `c#ppt操作.txt`文件可能是更详细的代码示例,它可能包括了上述所有操作的完整实现,也可能包含了一些特定功能的处理,如动画设置、幻灯片的复制或删除等。 总之,C#操作PPT的核心在于理解和使用`Microsoft.Office....

    c#写的文本编辑器(附讲解ppt)

    【标题】"C#编写的文本编辑器"是一款利用C#编程语言开发的文本处理工具,它具备基础的文本编辑功能,适用于初学者学习和实践C#编程技术。这款文本编辑器不仅是一个实用的软件,同时也是一份生动的C#教学实例,帮助...

    用C#实现的将PPT文档转换为png图片并在图片右下角增加页码

    首先创建一个Font对象,设置字体、大小和样式,然后确定页码的位置(通常是图片的右下角),最后调用DrawString绘制文本。 6. **文件操作**:在保存转换后的PNG图片时,需要使用FileStream和Image.Save方法。确保...

    Aspose.Slides 替换PPT内文本

    利用Aspose.Slides替换模板PPT内文本快速生成PPT

    简单的C#入门PPT教案

    【C# 入门PPT教案详解】 ...总的来说,这份C#入门PPT教案涵盖了C#编程的基本概念、核心语法和控件应用,适合初学者系统学习。通过实践这些知识点,开发者可以逐步掌握C#编程技能,为后续深入学习打下坚实基础。

    C#教学课件《PPT》

    此外,课程可能会介绍字符串和数组的使用,这是处理文本和数据序列的基本手段。 接着,课程将深入到面向对象编程的概念,讲解类、对象、属性、方法、构造函数和析构函数,这些都是C#中实现封装、继承和多态性的基石...

    C# 不依赖Office读取Word、PPT

    主要的XML文件包括`ppt/slide1.xml`等,这些文件包含了幻灯片的文本和元素。OpenXML SDK同样可以用来处理这些文件。 除了OpenXML SDK,还有其他第三方库,如NPOI,它是一个针对Microsoft Office文件格式的开源库,...

    C#ppt,Excel,words,pdf在线预览demo

    总的来说,这个"C# ppt,Excel,words,pdf在线预览demo"是一个实用的示例,它展示了如何使用C#在Web环境中处理各种常见文档类型,为开发者提供了在线预览文档的参考架构和技术路线。通过学习和理解这个示例,开发者...

    C#详解ppt开发向导

    C#不仅是一种强大的编程语言,也被广泛应用于创建交互式和动态的演示文稿,这使得它成为开发PPT的理想选择。通过熟练掌握C#与PowerPoint API的结合,开发者可以构建出高效且功能丰富的教学材料、商业报告或会议演示...

    代码生成PPT(C#)

    下面我们将深入探讨如何使用C#来创建包含文字、图片和图表的PPT。 首先,为了在C#中操作PPT,我们需要引用Microsoft.Office.Interop.PowerPoint库,这是一个允许C#与PowerPoint进行交互的COM组件。在Visual Studio...

Global site tag (gtag.js) - Google Analytics