有没有一种方法可以从Google文档创建图像(例如png)? 我的意思是图像,而不仅仅是pdf。 GetAS仅创建pdf,但如果contentType设置为image / png或其他等效格式,则返回错误。 我的代码(实际上是微不足道的)是
function convertFile() {
var SOURCE_TEMPLATE = "1HvqYidpUpihzo_HDAQ3zE5ScMVsHG9NNlwPkN80GHK0";
var TARGET_FOLDER = "1Eue-3tJpE8sBML0qo6Z25G0D_uuXZjHZ";
var source = DriveApp.getFileById(SOURCE_TEMPLATE);
var targetFolder = DriveApp.getFolderById(TARGET_FOLDER);
var target = source.makeCopy(source,targetFolder);
var newFile = DriveApp.createFile(target.getAs('image/png'));
}
运行此代码时,出现以下错误(我的翻译):
不支持从application / vnd.google-apps.document到image / png的转换。
Ty
答案 0 :(得分:0)
这个答案怎么样?
makeCopy()
返回File对象。 getAs()
不能用于此目的。这样,就会发生错误。
很遗憾,在当前阶段,Google文档无法直接导出为PNG图像。因此,需要考虑解决方法。 Google文档可以转换为PDF。此答案使用此。作为一种解决方法,我建议使用ConvertAPI外部API。我认为使用外部API可使脚本变得简单。这种API的方法(PDF到PNG API)可以从PDF数据转换为PNG数据。
例如,当您尝试这样做时,也可以使用“免费软件包”进行测试。当您尝试使用“免费软件包”时,请在“免费软件包”处注册并检索您的密钥。
在运行此脚本之前,请获取您的秘密密钥并进行设置。
var secretkey = "###"; // Please set your secret key.
var SOURCE_TEMPLATE = "1HvqYidpUpihzo_HDAQ3zE5ScMVsHG9NNlwPkN80GHK0";
var TARGET_FOLDER = "1Eue-3tJpE8sBML0qo6Z25G0D_uuXZjHZ";
var url = "https://v2.convertapi.com/convert/pdf/to/png?Secret=" + secretkey;
var options = {
method: "post",
payload: {File: DriveApp.getFileById(SOURCE_TEMPLATE).getBlob()},
}
var res = UrlFetchApp.fetch(url, options);
res = JSON.parse(res.getContentText());
res.Files.forEach(function(e) {
var blob = Utilities.newBlob(Utilities.base64Decode(e.FileData), "image/png", e.FileName);
DriveApp.getFolderById(TARGET_FOLDER).createFile(blob);
});