gpt4 book ai didi

javascript - Google App 脚本从文档模板库创建 PDF 文件

转载 作者:行者123 更新时间:2023-12-01 00:18:07 29 4
gpt4 key购买 nike

关于我的帖子:

Google app script on how to create a pdf from the data received from an html form of its spreadsheet and send the pdf file via email

关于下面描述的功能:

function submitData(form) {
var subject='New Feedback';
var body=Utilities.formatString('name: %s <br />Email: %s<br />Comment: %s', form.name,form.email,form.comment);

var folderId = "my-folder-ID"; // Please set the folder ID. // Added
var blob = Utilities.newBlob(body, MimeType.HTML, form.name).getAs(MimeType.PDF); // Added
var file = DriveApp.getFolderById(folderId).createFile(blob); // Added

var aliases = GmailApp.getAliases()
Logger.log(aliases); //returns the list of aliases you own
Logger.log(aliases[0]); //returns the alias located at position 0 of the aliases array

GmailApp.sendEmail('my-email@my-email.com','From an alias', 'A message from an alias!', {'from': aliases[0],subject: subject,htmlBody: body, attachments: [blob]}); // Modified

// return file.getUrl(); // Modified
return Utilities.formatString('name: %s <br />Email: %s<br />Comment: %s<br />PDF: %s', form.name,form.email,form.comment,file.getUrl());
}

我想使用文档作为基本模板来创建与此类似的 PDF 文件: https://jeffreyeverhart.com/2018/09/17/auto-fill-google-doc-from-google-form-submission/我怎样才能通过我的应用程序实现这一点?正如您从上面看到的,这是一个自定义 html 表单。

预先感谢您的帮助!

最佳答案

  • 您想要使用 Google 文档模板创建 PDF 文件。
  • 您要设置form.name,form.email,form.comment模板文档,然后,您希望将其导出为 PDF 文件。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能答案之一。

修改点:

  • 首先,请准备一个 Google 文档作为模板。
  • 当有模板Document时,首先复制模板Document,并将替换值替换为form.name,form.email,form.comment 。然后,文档将转换为 PDF 数据。

用法:

在运行脚本之前,请准备一个用作模板的 Google 文档。

在本例中,{{name}} , {{email}}{{comment}}替换为 form.name , form.emailform.comment , 分别。所以请包括 {{name}} , {{email}}{{comment}}在模板文档中。

修改后的脚本:

当你的脚本被修改后,它会变成如下。并将模板Google文档的文件ID设置为templateDocumentId .

从:
var blob = Utilities.newBlob(body, MimeType.HTML, form.name).getAs(MimeType.PDF);
到:
var templateDocumentId = "###"; // Please set the file ID of the template Google Document

var docId = DriveApp.getFileById(templateDocumentId).makeCopy("temp").getId();
var doc = DocumentApp.openById(docId);

// Please modify as follows.
// var body = doc.getBody();
// body.replaceText("{{name}}", form.name).replaceText("{{email}}", form.email).replaceText("{{comment}}", form.comment);
doc.getBody().replaceText("{{name}}", form.name).replaceText("{{email}}", form.email).replaceText("{{comment}}", form.comment); // Modified

doc.saveAndClose();
var blob = doc.getBlob().setName(form.name);
DriveApp.getFileById(docId).setTrashed(true);
  • 在此修改后的脚本中,复制的文档被最后一行移动到垃圾箱。所以请小心这一点。

注意:

  • 我不确定您要使用的模板文档。那么如果这个修改后的脚本不能用于您的模板Document,您能提供一下吗?

引用文献:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

关于javascript - Google App 脚本从文档模板库创建 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59622271/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com