在项目中生成文档报告常常须要word中,其中的关键就是书签,经过定位和替换书签中的值来达到生成定制的报告(详见Word模板中的表格处理);但在PPT中却没有书签这个概念,因此,不能采用这种方式。之前,有人模拟书签,在PPT文档中写一个固定的符号来表示特定的值,这是一种可行的方式,但不是最佳的,显得很笨。html
我在想这个文本、图片、表格、形状等既然都能放在一张幻灯片中,确定有一个惟一标识它的符号,否则,它怎么确定会冲突,又想起了作动画时,好像每个要素都有一个名字,这应该是惟一标识的名称。ide
其实每张幻灯片中每个形状都有对应的名称(实际它并非惟一的),在开始菜单,编辑-选择窗格中可查看、修改。这就是PPT中的"书签"动画
使用Aspose.Slides或其余PPT操做类库可直接打开PPT文件、读取幻灯片内容、遍历每个形状(shape)的名称、类型(图片、文字、线等),而后作本身要作的事!spa
1 presentation = new Presentation(pptFilePath); 2 ISlide slide = presentation.Slides[0]; 3 for (int j = 0; j<slide.Shapes.Count; j++) 4 { 5 IShape shape = slide.Shapes[j]; 6 Console.WriteLine(shape.Name+"\t"); 7 }