从模板创建PowerPoint 2007演示文稿

时间:2009-04-01 14:02:14

标签: c# .net powerpoint openxml presentationml

我需要使用Open XML Format SDK 2.0从模板创建PowerPoint 2007演示文稿。模板必须由客户提供,并用于单独的布局样式(字体,背景颜色或图像,......)。它需要包含两个预定义的幻灯片:

  • 文字幻灯片
  • 图片幻灯片

应用程序现在应该创建模板文件的副本,创建文本和图像幻灯片的多个副本,并用一些内容替换内容占位符。

我已经找到一些code snippets from Microsoft来编辑幻灯片的标题,删除它们或替换幻灯片上的图像。但我没有找到如何创建现有幻灯片的副本。也许有人可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

这是我要找的东西的一个例子,但如果没有,请告诉我:http://openxmldeveloper.org/articles/7429.aspx

答案 2 :(得分:0)

对于C#

File.Copy(SourceFile,ExportedFile);

您基本上保留原始文件。

现在打开ExportedFile

PowerPoint.Application ppApp = new PowerPoint.Application();
PowerPoint.Presentation presentation;
presentation = ppApp.Presentations.Open(ExportedFile, MsoTriState.msoFalse,   MsoTriState.msoTrue, MsoTriState.msoTrue);

现在迭代所有幻灯片/形状

foreach (PowerPoint.Slide slide in presentation.Slides)
{
                    slide.Select();
                    foreach (PowerPoint.Shape shape in slide.Shapes)
                    {
                        if (shape.Type.ToString().Equals("<any type of shape>"))
                        {
                            if (shape.TextFrame.TextRange.Text.Equals("<contains a name"))
                            {
                                shape.TextFrame.TextRange.Text = <new value>;
                                shape.Delete(); // or delete
                                shape.AddPicture(<your new picture>, MsoTriState.msoTrue, MsoTriState.msoTrue, left, top, width, height);

                            }
                        }
                    }

}

希望这可以澄清您的要求。