首页 > 编程语言 >C# 如何获取PPT演示文档中的所有标题

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

时间:2022-12-30 12:08:03浏览次数:99  
标签:C# 占位 形状 文档 PPT 标题 幻灯片


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

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


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


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

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

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

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

需要使用的组件:

​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演示文档中的所有标题_实例化_03

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

标签:C#,占位,形状,文档,PPT,标题,幻灯片
From: https://blog.51cto.com/u_15656056/5979820

相关文章

  • C#/VB.NET Excel数据分列
    C#/VB.NETExcel数据分列有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理、记忆或保存。为了避免重复和大量的手动输入......
  • Java 自定义Excel数据排序
    通常,我们可以在Excel中对指定列数据执行升序或者降序排序,排序时可依据单元格中的数值、单元格颜色、字体颜色或图标等。在需要自定义排序情况下,我们也可以自行根据排序需要......
  • 如何删除PDF文档里的空白页
    日常工作生活中我们经常使用PDF,有时候你会发现PDF文档里面有一页或者好几页空白文档,很多人不知道如何删除这些空白页。网上众多的解决方案中,能解决这个问题的软件大都是收费......
  • 使用Spire.Doc来转换文本
    使用Spire.Doc来转换文本前段时间,我为不熟悉这个产品的读者们写了一篇关于我对 Spire.Doc的初识印象。 Spire.Doc是一个专业的Word.NET库,它是专门为开发人员设计的用来......
  • C# 在Word文档中生成条形码
    C#在Word文档中生成条形码简介条形码是由多个不同的空白和黑条按照一定的顺序组成,用于表示各种信息如产品名称、制造商、类别、价格等。目前,条形码在我们的日常生活中有着......
  • Java 将Excel转为UOS
    以.uos为后缀的文件,表示UniformOfficeSpreadsheet文件,是一种国产的办公文件格式,该格式以统一办公格式(UOF)创建,使用XML和压缩保存电子表格。既有的Excel表格文件,可以通过......
  • C# 合并及拆分Word文档
    C#合并及拆分Word文档本文简要分析一下如何如何使用C#简单实现合并和拆分word文档。平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部......
  • C#/VB.NET 读取条码类型及条码在图片中的坐标位置
    我们在创建条形码时,如果以图片的方式将创建好的条码保存到指定文件夹路径,可以在程序中直接加载图片使用;已生成的条码图片,需要通过读取图片中的条码信息,如条码类型、条码绘制......
  • C# 复制PDF页面到另一个PDF文档
    C#复制PDF页面到另一个PDF文档有时候我们可能有这样一个需求,那就是把PDF页面从一个PDF文档复制到另一个PDF文档中。由于PDF文档并不像word文档那样好编辑,因此复制也相对没......
  • C# 在excel中查找及替换数据
    在使用Excel处理数据时,有时候工作表内容很多,如果手动地一行一行的找数据很难发现它们在哪个地方。微软Excel给我们提供了一个很强大的数据处理功能-查找和替换,通过这个功能,......