5

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

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

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

我已经从 Microsoft 找到了一些代码片段来编辑幻灯片的标题、删除它们或替换幻灯片上的图像。但我不知道如何创建现有幻灯片的副本。也许有人可以帮我解决这个问题。

4

3 回答 3

1

我一直在寻找类似的答案,并找到了一些可以分享的资源:

http://msdn.microsoft.com/en-us/library/cc850834(office.14).aspx

或更多样品

http://msdn.microsoft.com/en-us/library/cc850828(office.14).aspx

或者这个网站

http://www.openxmldeveloper.com

还有这本免费的书记录了 OpenXML 标准,这有些帮助。

于 2009-07-21T18:41:30.257 回答
0

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

于 2010-02-24T02:03:17.917 回答
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);

                            }
                        }
                    }

}

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

于 2013-04-05T10:58:51.097 回答