ruby pandoc 将 html 字符串转换为 docx 临时文件

ruby pandoc convert html string to docx temp file

使用 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 文件是压缩文档和 xml 文件。

非常感谢。

尝试:

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

将文件模式设置为 wb 告诉 Ruby 您将写入未编码的二进制数据并将二进制数据编码设置为外部编码。