如何解决将应用程序/后记转换为JPG 问题和解决方法:示例脚本:注意:参考文献:
我希望使用Google Apps脚本将EPS文件转换为JPG或PDF,我想知道是否有可能。我从以下代码开始:
var file = DriveApp.getFileById(fileID);
var conversion = file.makecopy().getAs('image/jpeg');
但是,当我这样做时,会收到以下错误消息:
“不支持从应用程序/后记转换为图像/ jpeg。”
可以进行转换吗?
解决方法
我相信您的目标如下。
- 您要使用Google Apps脚本将EPS文件(
application/postscript
)转换为Jpeg格式(image/jpeg
)。
问题和解决方法:
不幸的是,在当前阶段,getAs
无法直接从application/postscript
转换为image/jpeg
。我认为这是当前的规范。因此,在这种情况下,需要使用解决方法。在这个答案中,我想提出这个解决方法。此解决方法的流程如下。
- 使用Drive API中的“文件:获取”方法检索文件元数据。
- 以PNG格式检索EPS文件(
application/postscript
),并将其转换为Jpeg格式。 - 将Jpeg数据创建为文件。
将以上流程用作脚本时,将如下所示。
示例脚本:
使用此功能时,请在高级Google服务中启用Drive API。在此示例脚本中,EPS文件被转换为Jpeg格式。
var fileID = "###"; // Please set the file ID of the EPS file.
// 1. Retrieve file metadata using Drive API.
var res = Drive.Files.get(fileID);
// 2. Retrieve the EPS file (`application/postscript`) as PNG format,and convert it to Jpeg format.
var blob = UrlFetchApp
.fetch(res.thumbnailLink.replace("s220","s1000"))
.getBlob()
.getAs(MimeType.JPEG)
.setName(res.title.split(".")[0] + ".jpg");
// 3. Create the Jpeg data as a file.
DriveApp.createFile(blob);
注意:
- 在上述解决方法中,使用Drive API将EPS格式转换为PNG格式,并使用
getAs
将PNG格式转换为Jpeg格式。但是在这种解决方法中,它无法转换为PDF格式。因此,如果要将EPS格式转换为PDF格式,我认为像https://www.convertapi.com/eps-to-pdf这样的外部API可能是合适的。
参考文献:
,根据the documentation,您应该可以使用getAs('application/pdf')
对于大多数Blob,“ application / pdf”是唯一有效的选项。对于图像 格式为BMP,GIF,JPEG或PNG,可以是“ image / bmp”,“ image / gif”中的任何一种, “ image / jpeg”或“ image / png”也有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。