Google apps script 将应用程序/postscript转换为JPG

Google apps script 将应用程序/postscript转换为JPG,google-apps-script,file-conversion,Google Apps Script,File Conversion,我希望使用Google Apps脚本将EPS文件转换为JPG或PDF,我想知道这是否可行。我从以下代码开始: var file = DriveApp.getFileById(fileID); var conversion = file.makeCopy().getAs('image/jpeg'); 但是,当我执行此操作时,会收到以下错误消息: “不支持从应用程序/postscript转换为图像/jpeg。” 是否可以进行此转换?根据,您应该能够使用getAs('application/pdf'

我希望使用Google Apps脚本将EPS文件转换为JPG或PDF,我想知道这是否可行。我从以下代码开始:

var file = DriveApp.getFileById(fileID);
var conversion = file.makeCopy().getAs('image/jpeg');
但是,当我执行此操作时,会收到以下错误消息:

“不支持从应用程序/postscript转换为图像/jpeg。”

是否可以进行此转换?

根据,您应该能够使用
getAs('application/pdf')

对于大多数blob,“application/pdf”是唯一有效的选项。用于图像 在BMP、GIF、JPEG或PNG格式中,“图像/BMP”、“图像/GIF”中的任意一种, “image/jpeg”或“image/png”也有效

根据,您应该能够使用
getAs('application/pdf')

对于大多数blob,“application/pdf”是唯一有效的选项。用于图像 在BMP、GIF、JPEG或PNG格式中,“图像/BMP”、“图像/GIF”中的任意一种, “image/jpeg”或“image/png”也有效


我相信你的目标如下

  • 您想使用谷歌应用程序脚本将EPS文件(
    application/postscript
    )转换为Jpeg格式(
    image/Jpeg
问题和解决方法: 不幸的是,在当前阶段,
getAs
无法直接从
application/postscript
转换为
image/jpeg
。我认为这是目前的规格。因此,在这种情况下,需要使用变通方法。在这个回答中,我想提出这个解决办法。此解决方案的流程如下所示

  • 使用驱动器API中的“Files:get”方法检索文件元数据
  • 以PNG格式检索EPS文件(
    application/postscript
    ),并将其转换为Jpeg格式
  • 将Jpeg数据创建为文件
  • 当上述流用作脚本时,它将变成如下所示

    示例脚本: 当您使用此功能时,请在高级谷歌服务中启用驱动器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);
    
    注:
    • 在上述解决方法中,使用驱动API将EPS格式转换为PNG格式,使用
      getAs
      将PNG格式转换为Jpeg格式。但在此解决方案中,它无法转换为PDF格式。因此,如果您想将EPS格式转换为PDF格式,我认为像外部API这样的API可能是合适的
    参考资料:

      • 我相信你的目标如下

        • 您想使用谷歌应用程序脚本将EPS文件(
          application/postscript
          )转换为Jpeg格式(
          image/Jpeg
        问题和解决方法: 不幸的是,在当前阶段,
        getAs
        无法直接从
        application/postscript
        转换为
        image/jpeg
        。我认为这是目前的规格。因此,在这种情况下,需要使用变通方法。在这个回答中,我想提出这个解决办法。此解决方案的流程如下所示

      • 使用驱动器API中的“Files:get”方法检索文件元数据
      • 以PNG格式检索EPS文件(
        application/postscript
        ),并将其转换为Jpeg格式
      • 将Jpeg数据创建为文件
      • 当上述流用作脚本时,它将变成如下所示

        示例脚本: 当您使用此功能时,请在高级谷歌服务中启用驱动器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);
        
        注:
        • 在上述解决方法中,使用驱动API将EPS格式转换为PNG格式,使用
          getAs
          将PNG格式转换为Jpeg格式。但在此解决方案中,它无法转换为PDF格式。因此,如果您想将EPS格式转换为PDF格式,我认为像外部API这样的API可能是合适的
        参考资料:

        不幸地使用该命令时,我收到了相同的错误消息。这是我尝试的第一种方法,但没有成功。如果需要动态创建文件,您可能必须找到第三方转换API。不幸的是,我在使用该命令时收到了相同的错误消息。这是我尝试的第一种方法,但没有成功。如果你需要动态创建文件,你可能需要找到第三方转换API,在这种情况下。很好的答案!总是很详细!回答得好!总是很详细!