使用ruby pandoc gem,我正在尝试将html页面作为字符串(“...”)转换为临时docx文件,然后该网站的用户可以下载。
pandoc ruby的文档说要使用:
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\xB2@\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\x8C@z\rK\xEE\x85\xFC\x12K\xE0w\xetc...."
只需创建一个新文件
File.open(yourfile, 'w') { |file| file.write(docx_conversion) }
抛出编码错误,但我认为它不会起作用,因为docx文件是zipped doc和xml文件。
非常感谢。
答案 0 :(得分:0)
尝试:
File.open(yourfile, 'wb') { |file| file.write(docx_conversion) }
将文件模式设置为wb
告诉Ruby您将编写未编码的二进制数据,并将二进制数据编码设置为外部编码。