将 pdf 文件保存在谷歌驱动器中,然后使用谷歌脚本获取特定列的 url 下载链接

苏帕托约

我有一个来自谷歌表单的注册表格,如果有人填写了申请表,那么我会收到一份包含文本和图像的 pdf 报告。但该文件未保存在我的 Google 云端硬盘中。

我的问题是,如何将 pdf 文件也保存在我的谷歌驱动器上,并从电子表格中的响应创建下载链接 pdf 文件。

我的代码如下..

  var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
  var subject = "This is form";
  var body = "Data: " + name + "";
  MailApp.sendEmail(email_address, subject, body, {htmlBody: body, attachments: pdf});
  DriveApp.getFileById(copyId).setTrashed(true);

  var BLOBPDF = copyId.getAs(MimeType.PDF);
  var pdf =  PDF_folder.createFile(BLOBPDF).setName(pdfName);
  var fileUrl = PDF_folder.createFile(BLOBPDF).setName(pdfName).getDownloadUrl();
  sheet.getRange(index + 1, 5).setValue(fileUrl)

}

兰布里丘斯

问题:

您正在对文件 ID(字符串)调用getAs

var BLOBPDF = copyId.getAs(MimeType.PDF);

这是File类的一个方法,您应该在其上使用它。更重要的是,您已经在检索上面几行的 pdf blob,无需重复此过程:

var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");

因为您使用getAs错误,BLOBPDF所以不是所需的 blob(实际上,脚本在尝试使用getAs字符串时可能会抛出错误,因此它正在停止执行)。您可以改为执行以下操作,以便将文件保存在云端硬盘中:

var pdf_drive =  PDF_folder.createFile(pdf).setName(pdfName);

代码片段:

代码的结尾可能是这样的(请参阅内联注释):

  // ...
  var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
  var subject = "This is form";
  var body = "Data: " + name + "";
  MailApp.sendEmail(email_address, subject, body, {htmlBody: body, attachments: pdf});
  DriveApp.getFileById(copyId).setTrashed(true);
  var pdf_drive =  PDF_folder.createFile(pdf).setName(pdfName); // Save file in PDF folder
  var fileUrl = pdf_drive.getDownloadUrl(); // Get file download URL
  var rowIndex = e.range.getRow(); // Get submitted row in sheet based on event object
  var sheet = e.range.getSheet(); // Get submitted sheet based on event object
  sheet.getRange(rowIndex, 5).setValue(fileUrl); // Write download URL
}

笔记:

我不确定您目前如何检索sheetand index,但我会使用onFormSubmit 事件对象将 URL 写入提交行的 E 列,如上面的代码片段所示。如果这不是您想要的并且您有其他方法来检索sheetand index,请从代码片段中删除相应的行并保留您当前的sheet.getRange(index + 1, 5).setValue(fileUrl);.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章