代码之家  ›  专栏  ›  技术社区  ›  Alexander

从模板创建PowerPoint 2007演示文稿

  •  5
  • Alexander  · 技术社区  · 15 年前

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

    • 文本幻灯片
    • 图像幻灯片

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

    我已经找到了一些 code snippets from Microsoft 若要编辑幻灯片标题,请将其删除或替换幻灯片上的图像。但我不知道如何创建现有幻灯片的副本。也许有人能帮我。

    3 回复  |  直到 10 年前
        1
  •  1
  •   Norman H    14 年前
        2
  •  0
  •   Todd Main    14 年前

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

        3
  •  0
  •   mike27015    11 年前

    对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);
    
                                }
                            }
                        }
    

    }

    希望这能澄清你的要求。