gpt4 book ai didi

google-apps-script - 使用应用程序脚本将 HTML 渲染到 Google Doc?

转载 作者:行者123 更新时间:2023-12-04 19:02:16 26 4
gpt4 key购买 nike

我们使用 Google Drive、Docs 等工作。

问题背景:我们的一个部门需要打印数百封电子邮件归档,其中包括页面信息。我们目前有一个 Google 网络应用程序,它获取 Gmail 线程的内容,将消息保存为 HTML blob,然后将这些消息以 PDF 格式导出到文件夹中。我们的用户然后将这些 PDF 下载到硬盘驱动器,并批量打印它们。

问题本身:我们的用户需要在打印这些 PDF 时获得这些 PDF 的页面信息。为此,我们首先让应用程序将电子邮件保存为 Google 文档,添加带有相关信息的页脚,然后再转换为 PDF。然而,我们正在尝试的方法不起作用,现在我们只是向墙上扔东西,看看什么会粘住。

这就是我们当前的工作(allMessages 是一个包含电子邮件线程的 HTML 内容的字符串):

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

我们尝试了这个(但失败了):
//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

我注意到我可以使用 UI 右键单击​​ Drive 中的 HTML 文件并使用 Docs 打开。它将创建一个新的 Google Doc 并正确呈现 HTML。当我尝试编写脚本(但失败)时,
var htmlBodyFile = myFolder.createFile("filename.html", allMessages, "text/html");
var myDoc = DocumentApp.openById(htmlBodyFile.getId());

它给我“文件丢失(也许它被删除了?)”

以下将创建一个文档,但实际上并不呈现 HTML。
var myDoc = DocumentApp.create("docname");   
var myBody = myDoc.getBody();
myBody.setText(allMessages);
myDoc.saveAndClose();

现在我没有想法了。

我们尝试研究涉及 Adob​​e 的其他解决方案。不幸的是,Acrobat 很昂贵并且以随机顺序打印文档(并且不允许命令行打印,因此我们可以编写一些脚本)。而Reader没有能力添加我们需要的页面信息。因此,当保存在 Google Drive 中时,我们似乎唯一的选择是在此处插入该信息。

有谁知道如何使用应用程序脚本将 HTML 呈现到 Google Doc?

最佳答案

我有一个解决方案。
这行代码将任何文件转换为适当的谷歌文档。例如如果是 csv 文件,它将被转换为电子表格,如果是 html,它将被转换为谷歌文档。

var newFileId = Drive.Files.copy({title: newFileName}, oldFileId, {convert: true}).id;

或者,您可以将包含 html 的 blob 直接转换为文档。
var newFileId = Drive.Files.insert({title: newFileName}, blob, {convert: true}).id;

为此,您首先必须按照说明打开高级 Drive API here

整个高级驱动API解释 here但该文档适用于 API 的 REST 版本,因此您必须以某种方式弄清楚如何使用 this 上的解释将其转换为应用程序脚本。站点下“如何确定方法签名”和示例 here .应用程序脚本编辑器中的自动完成功能也有助于此。

关于google-apps-script - 使用应用程序脚本将 HTML 渲染到 Google Doc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com