C# 如何获取PPT演示文档中的所有标题

不念不忘少年蓝@ 2024-02-17 18:49 144阅读 0赞

C# 如何获取PPT演示文档中的所有标题

标题是一个PPT演示文档不可或缺的部分,它可以让一个长的PPT演示文档变得有条理性,同时也可以提醒观众演讲者接下来要演示的内容。

在开始前,我们要了解一个概念,那就是占位符。我们知道在一个PPT文档中可以有多个形状,而每个形状都有它自己的占位符(Placeholder), 不同的形状占位符的类型也可能不同,如表格形状的占位符类型是table,图片形状的占位符类型是picture,媒体文件形状的占位符类型是Media,而标题形状的占位符类型是title。本篇文章就是通过判断形状的占位符类型,从而获取文档中的标题。

在PPT文档中可以有很多种标题,我们在创建一个PPT文档并添加幻灯片后,就可以看到位于首页幻灯片中间的大标题(Centeredtitle),子标题(Subtitle)以及其他幻灯片的小标题(Title)等。用一张图来显示最为直观:

Center

接下来我们就向以上幻灯片中添加点内容:

Center 1

需要使用的组件:

Visual Studio及由E-iceblue公司开发的免费版PPT组件Free Spire.Presentation。

组件安装后,打开Visual Studio,新建项目并添加对Spire.Presentation.dll的引用。完整代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using Spire.Presentation;
  4. namespace 获取幻灯片标题
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. //实例化一个Presentation对象并载入PPT文档
  11. Presentation ppt = new Presentation();
  12. ppt.LoadFromFile("test.pptx");
  13. //实例化一个list
  14. List<IShape> shapelist = new List<IShape>();
  15. //遍历PPT文档的所有幻灯片及每张幻灯片上的所有形状,将占位符类型是标题的那些形状添加到list中
  16. foreach (ISlide slide in ppt.Slides)
  17. {
  18. foreach (IShape shape in slide.Shapes)
  19. {
  20. if (shape.Placeholder != null)
  21. {
  22. switch (shape.Placeholder.Type)
  23. {
  24. case PlaceholderType.Title:
  25. shapelist.Add(shape);
  26. break;
  27. case PlaceholderType.CenteredTitle:
  28. shapelist.Add(shape);
  29. break;
  30. case PlaceholderType.Subtitle:
  31. shapelist.Add(shape);
  32. break;
  33. }
  34. }
  35. }
  36. }
  37. // 遍历list,获取list中所有形状的内部文本
  38. for (int i = 0; i< shapelist.Count; i++)
  39. {
  40. IAutoShape shape1 = shapelist[i] as IAutoShape;
  41. Console.WriteLine(shape1.TextFrame.Text);
  42. }
  43. Console.ReadKey();
  44. }
  45. }
  46. }

运行结果:

Center 2

判定形状的占位符类型不仅可以获取文档中的标题,您不妨试试用这种方式来获取文档中的其他内容如图片,表格,视频文件及页脚等。感谢您的阅读,希望本文能给您带来一定的帮助!

发表评论

表情:
评论列表 (有 0 条评论,144人围观)

还没有评论,来说两句吧...

相关阅读

    相关 成功ppt演示

    1、确定你的目标: 为什么要做这个ppt 2、分析你的听众:听众的背景、立场、兴奋点、兴趣点 3、了解你的限制:会场、时间、设备和顺序 4、寻找合适的材料:选择有利支撑观