C# 如何获取PPT演示文档中的所有标题
标题是一个PPT演示文档不可或缺的部分,它可以让一个长的PPT演示文档变得有条理性,同时也可以提醒观众演讲者接下来要演示的内容。
在开始前,我们要了解一个概念,那就是占位符。我们知道在一个PPT文档中可以有多个形状,而每个形状都有它自己的占位符(Placeholder), 不同的形状占位符的类型也可能不同,如表格形状的占位符类型是table,图片形状的占位符类型是picture,媒体文件形状的占位符类型是Media,而标题形状的占位符类型是title。本篇文章就是通过判断形状的占位符类型,从而获取文档中的标题。
在PPT文档中可以有很多种标题,我们在创建一个PPT文档并添加幻灯片后,就可以看到位于首页幻灯片中间的大标题(Centeredtitle),子标题(Subtitle)以及其他幻灯片的小标题(Title)等。用一张图来显示最为直观:
接下来我们就向以上幻灯片中添加点内容:
需要使用的组件:
Visual Studio及由E-iceblue公司开发的免费版PPT组件Free Spire.Presentation。
组件安装后,打开Visual Studio,新建项目并添加对Spire.Presentation.dll的引用。完整代码如下:
using System;
using System.Collections.Generic;
using Spire.Presentation;
namespace 获取幻灯片标题
{
class Program
{
static void Main(string[] args)
{
//实例化一个Presentation对象并载入PPT文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("test.pptx");
//实例化一个list
List<IShape> shapelist = new List<IShape>();
//遍历PPT文档的所有幻灯片及每张幻灯片上的所有形状,将占位符类型是标题的那些形状添加到list中
foreach (ISlide slide in ppt.Slides)
{
foreach (IShape shape in slide.Shapes)
{
if (shape.Placeholder != null)
{
switch (shape.Placeholder.Type)
{
case PlaceholderType.Title:
shapelist.Add(shape);
break;
case PlaceholderType.CenteredTitle:
shapelist.Add(shape);
break;
case PlaceholderType.Subtitle:
shapelist.Add(shape);
break;
}
}
}
}
// 遍历list,获取list中所有形状的内部文本
for (int i = 0; i< shapelist.Count; i++)
{
IAutoShape shape1 = shapelist[i] as IAutoShape;
Console.WriteLine(shape1.TextFrame.Text);
}
Console.ReadKey();
}
}
}
运行结果:
判定形状的占位符类型不仅可以获取文档中的标题,您不妨试试用这种方式来获取文档中的其他内容如图片,表格,视频文件及页脚等。感谢您的阅读,希望本文能给您带来一定的帮助!
标签:C#,占位,形状,文档,PPT,标题,幻灯片 From: https://blog.51cto.com/u_15656056/5979820