保存和自动保存PowerPoint OpenXML演示文稿
本文关键字:保存 文稿 OpenXML PowerPoint | 更新日期: 2023-09-27 18:11:36
我正在寻找一些关于保存OpenXML文档的建议,特别是PresentationDocument。
在我的场景中,我直接从磁盘打开一个PowerPoint .pptx演示文稿,它充当模板。然后我添加(复制)其他各种ppt演示的幻灯片。对于每个单独的源演示,我还添加了它的MasterSlideParts和SlideLayoutParts。
问题1:当演示文稿需要保存时,是否可以发出一个命令,将所有更改保存到PresentationDocument中?或者我必须手动保存每一个新的或被更改的项目,例如:
presentationDocument.PresentationPart.Presentation.Save();
foreach (var slideMasterPart in presentationDocument.PresentationPart.SlideMasterParts)
{
slideMasterPart.SlideMaster.Save();
}
问题2:当打开PresentationDocument时,有一个选项"autosave"似乎默认为"true"。有人能解释一下自动保存是做什么的吗?
我读到的一些东西表明,当PresentationDocument被处置时,这将保存PresentationDocument中的所有内容。这是正确的吗?
如果是,我需要设置autosave=false,因为我需要控制自己保存,以便能够测试演示文稿构建逻辑。
提前感谢您的回答。
史蒂夫
问题1:如果您使用流打开文件并以这种方式进行修改,则不需要显式调用其中任何一个保存调用。您只需要在presentationDocument
变量上调用Dispose()
方法。文档说明dispose
刷新并保存内容、关闭文档并全部释放资源。
这将使您不必在演示文稿中调用save或循环遍历每个单独的幻灯片。
问题2: autosave
的文档说明如下:
获取指示部件是否应保存的标志处理。
这将使我相信,如果您希望在调用Dispose()
方法时保存所有部分,您将希望将此值设置为true。否则,您的更改可能不会保存。