【问题标题】:PDF attachment sent with Gmail of Google doc is blank用 Google doc 的 Gmail 发送的 PDF 附件是空白的
【发布时间】:2020-04-24 10:12:51
【问题描述】:

我的目标是在 Gmail 附件中附加 Google 文档的 PDF 版本。我已经使用应用程序脚本生成了文档并将其保存在云端硬盘的文件夹中。电子邮件以 PDF 格式发送附件,但 pdf 文件不包含任何内容(完全空白)。我正在使用的相关代码:

 var blob = DriveApp.getFileById(docID).getAs("application/pdf"); // problem line?

 GmailApp.sendEmail(clientEmail, 'subject', 'Please see the attached file.', { 
       attachments: [blob],
       name: 'Automatic Emailer Script',
   });

我已经在这里尝试使用谷歌的代码:

var file = DriveApp.getFileById(docID);
MailApp.sendEmail(clientEmail, 'Attachment example', 'Please see attached.', {
    name: 'Automatic Emailer Script',
    attachments: [file.getAs(MimeType.PDF)]  // something going on here?
});

在这两种情况下,我都会收到一封带有 PDF 附件且文件名正确的电子邮件,但它完全是空白的,并且不包含它应该是从中生成的 (google doc) 文档的内容。创建 blob 时我是否遗漏了什么?是否需要特定于文档的参数才能正确生成 blob?

我显然遗漏了一些东西 - 如果很明显很抱歉!

【问题讨论】:

  • 我已经尝试过你的代码(两者),它与谷歌文档到 pdf 一起工作得很好。剧本上还有别的吗?您可以尝试仅使用您提供的代码创建一个新脚本吗?
  • 感谢您的回复!我发现问题在于需要使用 doc.saveAndClose() 保存和关闭文档。我在这里为将来的任何人找到了答案:stackoverflow.com/questions/24441646/…

标签: javascript pdf google-apps-script gmail google-docs


【解决方案1】:

已在此帖子中找到解决方案:

Google apps script: Create a new document and send it using Gmail

文档必须保存一次才能通过电子邮件发送。

使用脚本上的函数saveAndClose() 会在发送之前保存文档,以防您要发送新生成的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多