我們使用Google雲端硬盤,文檔等。使用應用腳本將HTML呈現爲Google文檔?
問題的背景:我們的部門之一需要打印數百封電子郵件,並附帶網頁信息。我們目前有一個Google Web應用程序,它接受gmail線程的內容,將消息保存爲HTML blob,然後將這些消息以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
我注意到我可以使用用戶界面來右鍵單擊雲端硬盤中的HTML文件並使用文檔打開。它會創建一個新的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();
現在我想出來的想法。
我們試圖調查涉及Adobe的其他解決方案。不幸的是,Acrobat很昂貴,並以隨機順序打印文檔(並且不允許命令行打印,所以我們可以編寫腳本)。而Reader沒有能力添加我們需要的頁面信息。因此,在保存到Google雲端硬盤時,我們唯一的選擇是在此處插入此信息。
有誰知道如何使用應用程序腳本呈現HTML到Google Doc?
你真的需要html步驟嗎?爲什麼不把文本添加到文檔然後將其轉換爲pdf。 – SpiderPig
我們需要保持電子郵件完好無損,包括任何內嵌圖像。電子郵件本身也轉換爲html。如果我們可以在不丟失任何東西的情況下直接查看文檔,那麼值得一試。 –
在這個線程http://stackoverflow.com/questions/14663852/get-google-document-as-html有人發佈了一些代碼將文檔轉換爲html。因此,您可以創建僅包含頁腳的文檔,並將其轉換爲html,然後將其與郵件中的html結合使用。或者,您可以直接爲頁腳創建html代碼。 – SpiderPig