PPT模板中的”书签”

引言

在项目中生成文档报告经常需要word中,其中的关键就是书签,通过定位和替换书签中的值来达到生成定制的报告(详见Word模板中的表格处理);但在PPT中却没有书签这个概念,所以,不能采用这种方式。以前,有人模拟书签,在PPT文档中写一个固定的符号来表示特定的值,这是一种可行的方式,但不是最佳的,显得很笨。

我在想这个文本、图片、表格、形状等既然都能放在一张幻灯片中,肯定有一个唯一标识它的符号,不然,它怎么肯定会冲突,又想起了做动画时,好像每一个要素都有一个名字,这应该是唯一标识的名称。

解决方案

其实每张幻灯片中每一个形状都有对应的名称(实际它并不是唯一的),在开始菜单,编辑-选择窗格中可查看、修改。这就是PPT中的"书签"

使用Aspose.Slides或其他PPT操作类库可直接打开PPT文件、读取幻灯片内容、遍历每一个形状(shape)的名称、类型(图片、文字、线等),然后做自己要做的事!

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 }

 

posted @ 2017-11-29 13:56  我也是个傻瓜  阅读(2299)  评论(0编辑  收藏  举报