从模板创建PowerPoint 2007演示文稿
-
22-08-2019 - |
题
我需要从模板中创建一个PowerPoint 2007演示文稿 打开XML格式SDK 2.0. 。该模板必须由客户提供,并用于单个布局样式(字体,背景颜色或图像,...)。它需要包含两个预定义的幻灯片:
- 文字幻灯片
- 图像幻灯片
现在,应用程序应创建模板文件的副本,创建文本和图像幻灯片的多个副本,然后用某些内容替换内容范围。
我已经找到了一些 Microsoft的代码片段 要编辑幻灯片的标题,请删除它们或在幻灯片上替换图像。但是我没有发现如何创建现有幻灯片的副本。也许有人可以帮助我。
解决方案
我一直在寻找类似的答案,并找到了一些资源可以共享:
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标准 这有点有帮助。
其他提示
这是我要寻找的东西的一个例子,但是如果没有,请告诉我: http://openxmldeveloper.org/articles/7429.aspx
对于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);
}
}
}
}
希望这可以澄清您的要求。
不隶属于 StackOverflow