zoukankan      html  css  js  c++  java
  • C#提取PPT文本——提取SmartArt中的文本、批注中的文本

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

    1.提取SmartArt中的文本

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

    【C#】

     1 using Spire.Presentation.Diagrams;
     2 using System.Drawing;
     3 using System.Text;
     4 using System.IO;
     5 using Spire.Presentation;
     6 
     7 namespace ExtractTextFromSmartArt_PPT
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             //初始化一个Presentation类实例,并加载文档
    14             Presentation ppt = new Presentation();
    15             ppt.LoadFromFile(@"C:UsersAdministratorDesktopSample.pptx");
    16             //新建一个StringBuilder对象
    17             StringBuilder st = new StringBuilder();
    18             //遍历文档中的SmartArt图形
    19             for (int i = 0; i < ppt.Slides.Count; i++)
    20             {
    21                 for (int j = 0; j < ppt.Slides[i].Shapes.Count; j++)
    22                 {
    23                     if (ppt.Slides[i].Shapes[j] is ISmartArt)
    24                     {
    25                         ISmartArt smartArt = ppt.Slides[i].Shapes[j] as ISmartArt;
    26                         for (int k = 0; k < smartArt.Nodes.Count; k++)
    27                         {
    28                             st.Append(smartArt.Nodes[k].TextFrame.Text);
    29                         }
    30                     }
    31                 }
    32             }
    33             //将文本写入TXT文档
    34             File.WriteAllText("Result.txt", st.ToString());
    35         }
    36     }
    37 }

    提取的文本如下图所示:

    2.提取批注中文本

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

    【C#】

     1 using System;
     2 using System.Text;
     3 using Spire.Presentation;
     4 using System.IO;
     5 
     6 namespace ExtractTextFromComment_PPT
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             //实例化一个Presentation类,并加载文档
    13             Presentation ppt = new Presentation();
    14             ppt.LoadFromFile(@"C:UsersAdministratorDesktopcomment.pptx");
    15             //创建一个StringBuilder对象
    16             StringBuilder str = new StringBuilder();
    17             //获取第一张幻灯片中的所有批注
    18             Comment[] comments = ppt.Slides[0].Comments;
    19             //遍历批注内容
    20             for (int i = 0; i < comments.Length; i++)
    21             {
    22                 str.Append(comments[i].Text + "
    ");
    23             }
    24             //将文本写入TXT文档
    25             File.WriteAllText("TextFromComment.txt", str.ToString());
    26         }
    27     }
    28 }

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

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

    (本文完)

  • 相关阅读:
    SSLOJ 1338.逃亡路径
    文件上传与下载
    TCP协议和UDP协议
    DWR推技术在开发中需要注意的ScriptSession问题
    页面缓存-freemarker静态处理
    springMVC的工作流程
    hibernate的工作流程
    Struts2框架的大致流程
    mybatis中的多表查询
    传值乱码解决方案
  • 原文地址:https://www.cnblogs.com/Yesi/p/7804541.html
Copyright © 2011-2022 走看看