我想从web获取一个pptx,然后抓取每个幻灯片的演讲者笔记。有没有API允许我这么做?
Google Slides已经在他们的API中提供了:https://developers.google.com/slides/api/reference/rest/v1/presentations/get
对于powerpoint,我看到他们有Javascript API,但似乎只是用于插件。我看到的其他选择似乎是OpenXML SDK。想知道首选的方法是什么?
如果您只处理打开的XML文档(*.pptx),则可以使用open XML SDK,请参阅欢迎使用open XML SDK 2.5 for Office了解更多信息。
OfficeJS
仅用于web外接程序,而不是为独立应用程序设计的。
Aspose。幻灯片可以很容易地从演讲中获取演讲者的笔记。该库可用于c#, Java, c++和Python。下面的c#代码示例向您展示了如何从每张幻灯片中获取演讲者的注释:
using var presentation = new Presentation("example.pptx");
foreach (var slide in presentation.Slides)
{
// Get notes from the slide.
var slideNotes = slide.NotesSlideManager.NotesSlide.NotesTextFrame.Text;
Console.WriteLine(slideNotes);
}
这是一个付费产品,但您可以获得临时许可证来评估其所有功能。或者,您可以使用Aspose。幻灯片云SDK,以多种语言提供基于rest的api。下面的c#代码示例向您展示了如何使用Aspose完成相同的操作。幻灯片云:
var slidesApi = new SlidesApi("my_client_key", "my_client_secret");
// A presentation saved in storage.
var fileName = "example.pptx";
var slideCount = slidesApi.GetSlides(fileName).SlideList.Count;
for (var slideNumber = 1; slideNumber <= slideCount; slideNumber++)
{
// Get notes from the slide.
var notesSlide = slidesApi.GetNotesSlide(fileName, slideNumber);
Console.WriteLine(notesSlide.Text);
}
这也是一个付费产品,但您可以根据自己的目的每月进行150次免费API调用。我在Aspose做技术支持开发。