【问题标题】:ruby pandoc convert html string to docx temp fileruby pandoc 将 html 字符串转换为 docx 临时文件
【发布时间】:2015-04-06 06:18:01
【问题描述】:

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

非常感谢。

【问题讨论】:

    标签: ruby pandoc


    【解决方案1】:

    试试:

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

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

    【讨论】:

    • 非常感谢。像魅力一样工作。
    • 我不能在 pandoc 中提供不同类型的样式,比如字体颜色等等?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多