DocsList.createFile有时会创建空白或损坏的PDF

时间:2013-02-20 00:23:31

标签: google-apps-script

我正在尝试创建一个google文档(我希望将其创建为HTML,如果这样可以这样工作)然后将该文档导出为pdf以作为电子邮件附件发送。这是我的基本结构

var docName = "test";

var doc = DocumentApp.create(docName);
doc.appendParagraph("Hello World");

DocsList.createFile(docName, doc.getAs('application/pdf').getBytes(), 'application/pdf');

但这表现得很奇怪。有时它会创建一个空白的pdf,有时是一个无法打开的PDF文件“抱歉,我们目前无法生成文档视图。请稍后再试。”

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

在将文件转换为pdf之前保存并关闭文件非常重要。如果您不致电saveAndClose(),您的更改仍将处于待处理状态。只是做

doc.saveAndClose();
DocsList.createFile(doc.getAs('application/pdf')).rename(docName);

根据我的经验,处理blob中的文档而不是字节数组要清晰得多。所以这应该干净利落地工作。