2011-12-24 53 views
7

的Gemfilewicked_pdf錯誤:PDF無法產生

gem "wicked_pdf" 
gem "wkhtmltopdf-binary" 

錯誤:

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 

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 

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> 

wicked_pdf.erb

# config/initializers/wicked_pdf.rb 
WickedPdf.config = { 
# :exe_path => '/var/lib/gems/1.8/bin/wkhtmltopdf' 
    :exe_path => '/usr/bin/wkhtmltopdf' 
} 
+0

您是否確實在/ usr/bin中安裝了wkhtmltopdf二進制文件?你可以下載到shell並執行「wkhtmltopdf http://google.com google.pdf」嗎? – Unixmonkey 2011-12-25 20:49:41

+0

是的。謝謝,我們通過運行軟件包更新命令來解決它。我在gemfile中修改了路徑,我們認爲這是問題所在。 – rmagnum2002 2011-12-26 15:18:22

+0

我在OSX中仍然存在相同的問題,將'wkhtmltopdf-binary'添加到gemfile中對我無效。 pdf的生成工作,只是不在Rails中。它確實在生產服務器上工作。 – lafeber 2013-01-16 12:45:18

回答

7

gemfilewkhtmltopdf-binary了,但因爲這是我工作的本地計算機上,而不是服務器,我離開了這個錯誤,服務器支持團隊關心..他們已經檢查了wkhtmltopdf的路徑,他們試圖將一個簡單的HTML轉換爲PDF,它的工作..所以他們試圖運行一個bundle update命令,在這之後,PDF轉換工作也很好的服務器上。我有一個寶石路徑改變,我想這是問題。我發佈了我的解決方案,以防其他人也會遇到這個問題。

19

我有同樣的問題。解決方案是將wkhtmltopdf-binary添加到gem文件並運行bundle install

gem "wicked_pdf" 
gem "wkhtmltopdf-binary" 
+0

這實際上解決了我的問題,謝謝 – 2013-08-26 17:21:08

+0

這對我來說伎倆。 – stringo0 2013-10-24 19:24:18

+0

這解決了我在rails 4中的問題 – 2017-05-09 06:56:29