2015-04-05 81 views
0

使用ruby pandoc gem,我試圖將一個html頁面轉換爲一個字符串(「...」)爲一個臨時docx文件,該網站的用戶可以下載。ruby​​ pandoc將html字符串轉換爲docx臨時文件

爲pandoc文檔紅寶石說,使用:

PandocRuby.html("<h1>hello</h1>").to_latex 

我認爲這個工程的docx爲好,雖然這是輸出

PandocRuby.html("<h1>hello</h1>").to_docx 

"PK\x03\x04\x14\x00\x02\x00\b\x00\xF8.\x7FF\x8E\r\x16\xD8]\x01\x00\x00$\x06\x00\x00\x13\x00\x00\x00[Content_Types].xml\xB5\x94\xCBN\xC30\x10E\xF7|E\xE4-J\xDC\[email protected]\b5\xE9\x82\xC7\x12*Q>\xC0u&\xAD\x85_\xB2\xA7\xAF\xBFg\x92\xD0\b\xA1*\xA9h\xBB\x89\x94\xCC\xCC\xBD\xC7W\xE3L\xA6;\xA3\x93\r\x84\xA8\x9C\xCD\xD98\e\xB1\x04\xACt\xA5\xB2\xCB\x9C}\xCE_\xD3\a6-n&\xF3\xBD\x87\x98P\xAF\x8D9[!\xFAG\xCE\xA3\\\x81\x111s\x1E,U*\x17\[email protected]\rK\xEE\x85\xFC\x12K\xE0w\xetc...." 

只需創建一個新文件

File.open(yourfile, 'w') { |file| file.write(docx_conversion) } 

拋出編碼錯誤,但我不認爲它會工作,因爲docx文件是壓縮文檔和x ml文件。

非常感謝。

回答

0

嘗試:

File.open(yourfile, 'wb') { |file| file.write(docx_conversion) } 

文件模式設置爲wb告訴紅寶石,你會寫未編碼的二進制數據,並將二進制數據編碼爲外部編碼。

+0

非常感謝。像魅力一樣工作。 – l2silver 2015-04-05 22:32:16

+0

我不能給像pandoc的字體顏色和所有類型的不同類型的樣式? – 2015-09-24 10:57:49