我最近开始深入研究OpenXML SDK,希望能够自动生成PowerPoint演示文稿。我发现整个过程都很痛苦,并且花了整个周末的更多时间,最后两天生成了一个库来保存原始的SDK调用。在生成过程中,一切似乎都正常,我可以在Open XML SDK生产力工具中验证代码是否正确。但是,在PowerPoint中打开文件会导致出现一个对话框,要求我在打开文件之前修复该文件。使用OpenXML SDK在C#中生成PowerPoint文件;验证但打开时出错
所有这些代码都是从我在PowerPoint中创建的文件中反映出来的。针对Productivity Tool中的这些包运行差异,我发现我的幻灯片布局(除第一个之外)位于/ppt/slideLayouts/slideLayouts/
中,而正确的演示文稿包含在/ppt/slideLayouts/
中。我三重检查了我的生成代码,并将SlideLayout添加到PresentationPart
,而不是SlideLayoutPart
。这很奇怪,因为第一个布局位于正确的位置,而后面的布局不在。
我已阅读Wouter van Vugt的MSDN文档和Open XML电子书。我已经将我的代码与反射代码进行了比较,这对我来说似乎是正确的(尽管考虑到Open XML的新功能和PresentationML的复杂性,我可能会错过很多事情)。有没有人对这里可能发生的事情有所了解?
嗨,我不明白你是什么意思加入幻灯片演示文稿部分。你可以重新写代码示例吗? – Sak