添加保存pdf选项GAS 修改点:修改后的脚本:注意:参考文献:

问题描述

一年前,在另一个用户的帮助下,我能够使用google app脚本来获取表单回复并通过电子邮件发送pdf(以下代码)

我现在需要将pdf保存到特定文件夹 我还需要在Google工作表中添加指向已保存的pdf的链接。这可能吗?

L2_TRANS.RFO

解决方法

我相信您的目标如下。

  • 您要将PDF数据作为文件保存到特定的文件夹中。
  • 您要检索已保存的PDF文件的URL,并将其放入电子表格的特定列。

修改点:

  • 要将PDF数据(在您的情况下为blob)保存到特定文件夹,可以使用DriveApp.getFolderById("folderId").createFile(pdf)
  • 为了检索创建的文件的URL,可以使用getUrl()
  • 为了将URL放置到电子表格的特定列。
    • 您要将值放在最后一行的下一列。

修改后的脚本:

请如下修改您的脚本。使用此修改后的脚本之前,请设置文件夹ID,电子表格ID和工作表名称。

从:
copyDoc.saveAndClose();
var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
至:
copyDoc.saveAndClose();
var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");
var url = DriveApp.getFolderById("###folderId###").createFile(pdf).getUrl();
var sheet = SpreadsheetApp.openById("###spreadsheetId###").getSheetByName("###sheetName###");
sheet.getRange(sheet.getLastRow(),sheet.getLastColumn() + 1).setValue(url);
  • 运行脚本时,会将pdf作为文件创建到文件夹###folderId###,并将url放在工作表{{1 }}在电子表格###sheetName###上。

注意:

  • 如果要提供PDF文件的文件名,请进行以下修改。

    • 来自

      ###spreadsheetId###
    • 收件人

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

参考文献:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...