2013-02-20 36 views
0

我想创建一个谷歌文档(我很想创建它为HTML,如果这可以这样工作),然后将该文档导出为PDF发送为电子邮件附件。这里是我的基本结构DocsList.createFile有时创建空白或损坏的PDF

var docName = "test"; 

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

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

但是,这表现很奇怪。有时它会创建一个空白PDF文件,有时候是一个不能打开的消息“对不起,我们目前无法生成文档视图,请稍后重试。”

任何帮助,将不胜感激。

回答

1

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

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

根据我的经验,处理blob而不是字节数组的文档已经更清洁。所以这应该干净地按预期工作。

+0

这创建了一个可打开的pdf,但它是空白的。我确实验证了它创建的Google文档包含内容。 – Greg 2013-02-20 01:47:15

+0

我明白了。我会更新我的答案。 – 2013-02-20 01:51:21

+0

'saveAndClose()'有诀窍。谢谢! – Greg 2013-02-20 17:36:00