2012-03-12 222 views
4

上本地它的工作原理像變魔術一樣,但是當我嘗試生成的服務器時,它trows的PDF:wicked_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' 
+0

你能你的問題的最後部分添加爲回答和接受,作爲答案以後呢?這將幫助他人瞭解狀態是什麼... – mliebelt 2012-03-13 14:37:51

+0

@mliebelt完成。 – 2012-03-13 15:57:18

回答

17

修正去除系統安裝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" }
+0

這也適用於'pdfkit'。 – Kris 2012-05-28 14:50:54

+0

下載鏈接已損壞。試試這個新鏈接http://download.gna.org/wkhtmltopdf/obsolete/linux/wkhtmltopdf-0.9.9-static-amd64.tar.bz2 – Calvin 2016-10-14 14:33:30

+0

這個安裝需要在本地系統中完成嗎?或者需要將其安裝在AWS上? – John 2016-12-21 08:25:21

0

對於其他人遇到這個問題,我們用了同樣的錯誤信息不同的解決方案。我們沒有一具無頭瀏覽器中運行:

sudo apt-get install xvfb 

解決它