我们希望从加载项中提取已打开的PowerPoint文档的所有文本。
在Word中,我们执行以下操作:
Word.run( context => {
var paragraphs = context.document.body.paragraphs;
context.load(paragraphs, 'text');
return context.sync().then( () => {
var items = paragraphs.items.;
// Do something with items
}
});
我们只对PowerPoint文档的文本感兴趣。
我们还没有找到关于如何专门使用PowerPoint的API的文档(this就是我们找到的)。 This sample project接近我们想要的东西,因为它从文档中提取数据,但我们希望在不加载压缩文件和解析文件块中的文本的情况下执行此操作。
我们怎样才能最好地接近这个?
答案 0 :(得分:1)
我担心这是不可能的。 Office.js参考文档可以过滤除PowerPoint APIs之外的所有内容,但功能有点原始。在这种情况下,没有一个API允许您像在Word或Excel中一样遍历文档中的对象。
正如您在该示例中找到的那样,您可以使用Document.getFileAsync
方法检索原始OOXML。解析OOXML并不像最初看起来那么痛苦(它只是XML)。一个很大的挑战是,一旦你拥有了OOXML,就没有办法将你所做的更改推回到PowerPoint中。它实际上是一个只读操作。
我强烈建议您访问Office Dev UserVoice网站并添加您的建议。 UserVoice定期由产品团队审核,是确保PowerPoint了解您在API中遇到的限制的最佳方法。