小编A K*_*rby的帖子

使用应用脚本将HTML呈现给Google文档?

我们使用Google云端硬盘,文档等工作

问题背景:我们的一个部门需要打印数百封电子邮件,包含页面信息.我们目前有一个谷歌网络应用程序,它采用gmail线程的内容,将消息保存为HTML blob,然后将这些文件作为PDF导出到文件夹.然后,我们的用户将这些PDF下载到硬盘驱动器,并进行批量打印.

问题本身:我们的用户在打印时需要有关于这些PDF的页面信息.为此,我们首先让应用将电子邮件另存为Google文档,添加包含相关信息的页脚,然后再转换为PDF.然而,我们正在尝试的是不起作用,现在我们只是在墙上扔东西看看会坚持什么.

这是我们目前正在使用的(allMessages是一个包含电子邮件线程的HTML内容的String):

//save the HTML content to a PDF file.
var htmlBodyFile = myFolder.createFile("fileName.html", allMessages, "text/html");
var pdfBlob = htmlBodyFile.getAs("application/pdf");
Run Code Online (Sandbox Code Playgroud)

我们试过这个(并且失败了):

//save the HTML content to a Google Doc. getAs() needs the MimeType.

var htmlBodyFile = myFolder.createFile("fileName.html", allMessages, "text/html");
var myDoc = htmlBodyFile.getAs("GOOGLE_DOCS");
// application/GOOGLE_DOCS, and application/vnd.google-apps.document don't work either
Run Code Online (Sandbox Code Playgroud)

我注意到我可以使用UI右键单击Drive中的HTML文件并使用Docs打开.它将创建一个新的Google Doc并正确呈现HTML.当我试图编写脚本(并失败)时,

var htmlBodyFile = myFolder.createFile("filename.html", allMessages, "text/html");
var myDoc = DocumentApp.openById(htmlBodyFile.getId());
Run Code Online (Sandbox Code Playgroud)

它给我"文件丢失(也许它已被删除?)"

以下将创建一个doc,但实际上并不呈现HTML.

var myDoc = DocumentApp.create("docname");   
var myBody = myDoc.getBody();
myBody.setText(allMessages);
myDoc.saveAndClose();
Run Code Online (Sandbox Code Playgroud)

现在我的想法很糟糕. …

google-apps-script

5
推荐指数
1
解决办法
2720
查看次数

标签 统计

google-apps-script ×1