自动化Google幻灯片制作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化Google幻灯片制作相关的知识,希望对你有一定的参考价值。
我想知道是否有办法以编程方式在Google幻灯片中创建演示文稿。因此,例如,如果基础数据发生变化,我可以刷新套牌而不需要为所有图表等提供大量复制粘贴。
类似于使用markdown和R slidify来生成数据驱动的PDF演示文稿。我的最终产品需要是漂亮的Google幻灯片演示文稿。
这是我可以使用Google Drive API的那种东西吗?我不确定App Script是否可用于幻灯片,就像你可以用于Sheets一样。
我希望解决方案存在的问题是一个普遍存在的问题。
一种选择是自动生成PDF,然后手动导入到Google幻灯片中。问题是由于转换错误和缺少其他幻灯片功能,这种方法有点受限。
任何输入都非常赞赏。
Google Slides API于2016年11月11日推出。它提供了阅读,创建和编辑Google幻灯片演示文稿的功能。
目前在Apps脚本中仍然没有相应的服务,但您可以使用Apps Script OAuth2 library和UrlFetchApp
在脚本中调用API。
它是2018年,这个老问题的好消息(和答案!):
- Google Slides REST API于2016年11月推出......这是its launch post and 1st developer video我为了让你开始。比视频更短的代码示例是文档中的Quickstart(提供多种语言版本)。如果您是Google API新手,我建议您首先观看this video,然后是this one,最后是this one,以了解如何使用它们。代码示例使用Python,但如果您不是Python开发人员,只需假装它是伪代码,因为Google APIs Client Libraries支持许多语言。 :-)
- Slides service的Google Apps Script于2017年9月推出......这里是its launch post and 1st developer video我为了让你开始。这也是Slides Add-ons背后的技术。如果您是Apps Script的新手,我建议您观看this video以了解它是什么以及如何使用它。然后查看its video library以获取使用Apps脚本的更多示例。
- 有关以编程方式访问Google幻灯片的其他视频,请访问its developer video library。关于这个和其他G Suite开发人员技术的视频可以在我生产的the G Suite Dev Show series中找到。
- 这里没有视频,但有一个你可能感兴趣的开源Markdown-to-Google Slides generator(用Node.js编写),代表使用Slides API的一个“参考应用程序”。您可以在the Samples page文档中找到有关此应用程序以及其他应用程序的更多信息。
Apps脚本中的一个示例:
Enable the Slides API in the developer console:
- 单击Resources> Developers Console Project> [Your_Project_Name]。
- 单击Enable API,搜索Slides并启用Slides API。
Use UrlFetchApp
to send authenticated requests to the Slides API
作为Apps脚本中的一个简单示例,请考虑fetching the latest version of a Presentation(presentations.get
)。
// Add your presentation ID
var presentationId = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// Force add the Drive scope (as this comment *will* get parsed
// and trigger a popup to authorize Drive access)
// DriveApp.createFile('')
// URL formed as per the Slides REST documentation
var url = 'https://slides.googleapis.com/v1/presentations/' + presentationId;
var options = {
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
}
};
var response = UrlFetchApp.fetch(url, options);
// Turn this back into a JS Object so it can be used.
var presentation = JSON.parse(response.getContentText());
// Log the ID of the presentation
Logger.log(presentation.presentationId);
// Log the number of slides...
Logger.log(presentation.slides.length);
// Loop through the slides
var slides = presentation.slides;
slides.forEach(function(slide) {
// ... do something with each slide...
});
presentation
的结构是REST参考中的also documented。使用REST reference,此示例可以扩展为与任何Slides API请求和响应一起使用。
以上是关于自动化Google幻灯片制作的主要内容,如果未能解决你的问题,请参考以下文章
Fabric.js - 带有免费矩形边界框的文本,如 Google 幻灯片