【问题标题】:wicked_pdf on production server生产服务器上的 wicked_pdf
【发布时间】:2012-03-12 17:42:59
【问题描述】:

在本地它就像魔术一样工作,但是当我尝试在服务器上生成 PDF 时,它会抛出:

RuntimeError (Failed to execute:
"/path/to/my/project/vendor/bundle/ruby/1.9.1/bin/wkhtmltopdf"       -q - - 
Error: Broken pipe):

这是 my_controller 上的内容。

format.pdf do
    pdf = render_to_string(
            :pdf => "invoice",
            :template => "my_controller/my_view.pdf.erb",
            :layout=>"pdf.html.erb"
        )
    save_path = Rails.root.join('pdfs','invoice.pdf')
    File.open(save_path, 'wb') do |file|
        file << pdf
    end
    send_file(save_path)
end

在我的 Gemfile

gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

【问题讨论】:

  • 您能否将问题的最后一部分添加为答案并在以后接受它作为答案?这将帮助其他人了解状态是什么......

标签: ruby-on-rails-3 pdf pdf-generation production wicked-pdf


【解决方案1】:

修复删除系统安装wkhtmltopdf并使用wkhtmltopdf的二进制:

  1. 卸载wkhtmltopdf包:apt-get remove wkhtmltopdf --purge
  2. (在 usr/local/bin 中)sudo curl -C - -O http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
  3. (在 usr/local/bin 中)sudo tar -xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
  4. (在 usr/local/bin 中)ln -s wkhtmltopdf-amd64 wkhtmltopdf
  5. 在你的初始化器WickedPdf.config = { :exe_path => "/usr/local/bin/wkhtmltopdf" }

【讨论】:

【解决方案2】:

对于遇到此问题的其他人,我们使用不同的解决方案收到了相同的错误消息。我们没有运行无头浏览器:

sudo apt-get install xvfb

解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-16
    • 2012-02-19
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多