wicked_pdf错误:无法生成PDF

rma*_*002 8 ruby-on-rails wicked-pdf

的Gemfile

gem "wicked_pdf"
gem "wkhtmltopdf-binary"
Run Code Online (Sandbox Code Playgroud)

错误:

RuntimeError in CarsController#show

Failed to execute:
/usr/bin/wkhtmltopdf     --print-media-type    -q - - 
Error: PDF could not be generated!
Rails.root: /u/apps/zeepauto/autozeep_update
Run Code Online (Sandbox Code Playgroud)

cars_controller

def show
    @class_showcar = true
    @class_admin = true
    @car = Car.find(params[:id])
    @search = Car.search(params[:search])
    @cars_see_special = Car.where(:special => "1").order('rand()').limit(3)

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @car }
      format.pdf do
        render :pdf => "#{@car.carname.name}",
               :print_media_type => true
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

show.html.erb

<p class="show_links"><%= link_to  url_for(request.params.merge(:format => :pdf)) do %>
  <%= image_tag('/images/printversion.png', :alt => 'Download') %>
</p>
Run Code Online (Sandbox Code Playgroud)

wicked_pdf.erb

# config/initializers/wicked_pdf.rb
WickedPdf.config = {
#  :exe_path => '/var/lib/gems/1.8/bin/wkhtmltopdf'
  :exe_path => '/usr/bin/wkhtmltopdf'
}
Run Code Online (Sandbox Code Playgroud)

Lin*_*der 20

我有同样的问题.解决方案是添加wkhtmltopdf-binary到gem文件并运行bundle install.

gem "wicked_pdf"
gem "wkhtmltopdf-binary"
Run Code Online (Sandbox Code Playgroud)


rma*_*002 8

wkhtmltopdf-binary已经进入gemfile,但由于这是在我的本地计算机而不是在服务器上工作,我留下这个错误让服务器支持团队关心..他们已经检查了wkhtmltopdf的路径,他们试图将简单的html转换为pdf它工作..所以他们试图运行一个bundle update命令,在此之后,pdf转换在服务器上工作正常.我改变了宝石路径,我想这就是问题所在.我发布了我的解决方案,万一其他人也会遇到这个问题.