我最近开始深入研究 OpenXML SDK,希望能够自动生成 PowerPoint 演示文稿。我发现整个过程很痛苦,并且在周末和最后两天的大部分时间里都在生成一个库来处理原始 SDK 调用。在生成过程中一切似乎都运行良好,我可以在 Open XML SDK Productivity Tool 中验证代码是否正确。但是,在 PowerPoint 中打开文件会导致出现一个对话框,要求我在打开文件之前修复它。
所有这些代码都是从我在 PowerPoint 中创建的文件中反映的内容中重构的。在生产力工具中对这些包运行差异,我发现我的幻灯片布局(第一个除外)/ppt/slideLayouts/slideLayouts/
在/ppt/slideLayouts/
. 我已经三重检查了我的生成代码,它将 SlideLayout 添加到.PresentationPart
而不是SlideLayoutPart
. 这特别奇怪,因为第一个布局位于正确的位置,而后面的布局则没有。
我通读了 MSDN 文档和 Wouter van Vugt 的 Open XML 电子书。我已经将我的代码与反映的代码进行了比较,它对我来说似乎是正确的(尽管考虑到我对 Open XML 的了解以及 PresentationML 的复杂性,我可能会遗漏很多东西)。有人对这里可能发生的事情有任何见解吗?