2012-03-12 5 views
4

Локально Это работает как волшебство, но когда я пытаюсь сгенерировать PDF На сервере trows: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

+0

@mliebelt done. –

ответ

17

Исправлена ​​система удаления установлена ​​wkhtmltopdf и используя двоичный wkhtmltopdf:

  1. Удалите пакет wkhtmltopdf: apt-get remove wkhtmltopdf --purge
  2. (в ЕГР/local/bin) sudo curl -C - -O http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
  3. (в USR/местные/бен) sudo tar -xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
  4. (в USR/местные/бен) ln -s wkhtmltopdf-amd64 wkhtmltopdf
  5. В вашем инициализаторе WickedPdf.config = { :exe_path => "/usr/local/bin/wkhtmltopdf" }
+0

Это также работает для 'pdfkit'. – Kris

+0

Ссылка для скачивания сломана. Попробуйте эту новую ссылку http://download.gna.org/wkhtmltopdf/obsolete/linux/wkhtmltopdf-0.9.9-static-amd64.tar.bz2 – Calvin

+0

эту установку необходимо выполнить в локальной системе? или его необходимо установить на AWS? – John

0

Для других, испытывающих эту проблему, у нас было то же самое сообщение об ошибке с другое решение. У нас не было обезглавленный работает браузер:

sudo apt-get install xvfb 

решил его