Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 在生产服务器上安装pdf_Ruby On Rails 3_Pdf_Pdf Generation_Production_Wicked Pdf - Fatal编程技术网

Ruby on rails 3 在生产服务器上安装pdf

Ruby on rails 3 在生产服务器上安装pdf,ruby-on-rails-3,pdf,pdf-generation,production,wicked-pdf,Ruby On Rails 3,Pdf,Pdf Generation,Production,Wicked Pdf,在本地,它像魔术一样工作,但当我尝试在服务器上生成PDF时,它会: RuntimeError (Failed to execute: "/path/to/my/project/vendor/bundle/ruby/1.9.1/bin/wkhtmltopdf" -q - - Error: Broken pipe): 这是我的控制器上的内容 format.pdf do pdf = render_to_string( :pdf => "invoic

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

RuntimeError (Failed to execute:
"/path/to/my/project/vendor/bundle/ruby/1.9.1/bin/wkhtmltopdf"       -q - - 
Error: Broken pipe):
这是我的控制器上的内容

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

修复了删除已安装的系统
wkhtmltopdf
并使用wkhtmltopdf二进制文件的问题:

  • 卸载wkhtmltopdf包:
    apt get remove wkhtmltopdf--purge
  • (在usr/local/bin中)
    sudo curl-C--Ohttp://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
  • (在usr/local/bin中)
    sudo tar-xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
  • (在usr/local/bin中)
    ln-s wkhtmltopdf-amd64 wkhtmltopdf
  • 在初始值设定项中
    WickedPdf.config={
    :exe_path=>“/usr/local/bin/wkhtmltopf”
    }

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

    sudo apt-get install xvfb
    

    解决了它

    你能把问题的最后一部分添加为答案,并在以后接受作为答案吗?这将帮助其他人了解状态…下载链接已断开。尝试此新链接此安装需要在本地系统中完成吗?或者它需要安装在AWS上?Vivek Sathisan留下了一条评论作为回答:源代码可以从
    sudo apt-get install xvfb