我们使用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)
现在我的想法很糟糕. …