微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将应用程序/后记转换为JPG 问题和解决方法:示例脚本:注意:参考文献:

如何解决将应用程序/后记转换为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。我认为这是当前的规范。因此,在这种情况下,需要使用解决方法。在这个答案中,我想提出这个解决方法。此解决方法的流程如下。

  1. 使用Drive API中的“文件:获取”方法检索文件元数据。
  2. 以PNG格式检索EPS文件(application/postscript),并将其转换为Jpeg格式。
  3. 将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 举报,一经查实,本站将立刻删除。