gpt4 book ai didi

c# - 保存和自动保存 PowerPoint OpenXML PresentationDocuments

转载 作者:行者123 更新时间:2023-11-30 17:15:41 31 4
gpt4 key购买 nike

我正在寻找有关保存 OpenXML 文档的一些建议,特别是 PresentationDocument。

在我的场景中,我直接从磁盘打开一个 PowerPoint .pptx 演示文稿,它充当模板。然后,我从各种其他 PowerPoint 演示文稿中添加(复制)幻灯片。对于每个单独的源演示文稿,我还添加了它的 MasterSlidePart 和 SlideLayoutPart。

问题 1:当演示文稿需要保存时,是否可以发出一条命令来保存对 PresentationDocument 的所有更改?或者我是否必须手动保存每个新的或已更改的项目,例如:

        presentationDocument.PresentationPart.Presentation.Save();

foreach (var slideMasterPart in presentationDocument.PresentationPart.SlideMasterParts)
{
slideMasterPart.SlideMaster.Save();
}

问题 2: 打开 PresentationDocument 时,有一个“自动保存”选项似乎默认为“true”。任何人都可以准确解释自动保存的作用吗?

我读到的内容表明,在处理 PresentationDocument 时,这会将所有内容保存在 PresentationDocument 中。这是正确的吗?

如果是这样,我将需要设置 autosave=false,因为我需要自己控制保存,以便能够测试演示构建逻辑。

提前感谢您的回答。

史蒂夫

最佳答案

问题 1:如果您使用流打开文件并以这种方式进行修改,则无需显式调用其中任何一个保存调用。您只需调用 Dispose() presentationDocument 变量上的方法。文档说明要处理

Flushes and saves the content, closes the document, and releases all resources.

这将使您不必在演示文稿上调用保存或循环浏览每张单独的幻灯片。

问题 2: autosave 的文档陈述如下:

Gets the flag indicating whether the parts should be saved on disposing.

这让我相信,如果您希望在调用 Dispose() 方法时保存所有部分,您会希望将此值设置为 true。否则,您的更改可能无法保存。

关于c# - 保存和自动保存 PowerPoint OpenXML PresentationDocuments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7820471/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com