OfficeJS 从 PowerPoint 文档的每张幻灯片中提取所有文本



我们希望从加载项中提取打开的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的文档(这就是我们发现的全部内容)。此示例项目接近我们想要的,因为它从文档中提取数据,但我们希望在不加载压缩文件和解析文件块文本的情况下执行此操作。

我们如何才能最好地解决这个问题?

怕这是不可能的。Office .js参考文档可以筛选出除 PowerPoint API 之外的所有内容,但功能有些原始。在这种情况下,没有一个 API 允许您像在 Word 或 Excel 中那样循环访问文档中的对象。

正如您在该示例中发现的那样,您可以使用 Document.getFileAsync 方法来检索原始 OOXML。解析 OOXML 并不像一开始看起来那么痛苦(它只是 XML)。最大的挑战是,一旦你有了OOXML,就没有办法将你对它所做的更改推回PowerPoint。它实际上是一个只读操作。

我强烈建议访问Office Dev UserVoice网站并添加您的建议。用户语音由产品团队定期审查,是确保 PowerPoint 了解您在使用 API 时遇到的限制的最佳方法。

最新更新