2012-03-07 73 views
4

我得到了pdfkit安裝,甚至設置了wkhtmltopdf安裝,但是我每次嘗試創建PDF時都會收到以下錯誤。無法使用pdfkit創建PDF - PDFKit :: NoExecutableError

PDFKit::NoExecutableError 
No wkhtmltopdf executable found at bundler: command not found: which 
Install missing gem executables with `bundle install` 
>> Please install wkhtmltopdf - https://github.com/jdpace/PDFKit/wiki/Installing-WKHTMLTOPDF 

我的Gemfile有以下幾點:

gem 'jquery-rails' 
gem 'devise' 
gem 'carrierwave' 
gem "wkhtmltopdf" 
gem 'pdfkit' 

我的application.rb中有如下條目:

config.middleware.use "PDFKit::Middleware", :print_media_type => true 

我失去了一些東西在這裏 - 我已經運行一個安裝包但每次嘗試創建PDF時仍會出現此錯誤。請幫助

回答

6

你應該閱讀在此處安裝自述:

https://github.com/jdpace/PDFKit

所以你需要manualy安裝wkhtmltopdf:

https://github.com/jdpace/PDFKit/wiki/Installing-WKHTMLTOPDF

或如T他

gem install wkhtmltopdf-binary 

PS

檢查which wkhtmltopdf

,並創建新的文件配置/初始化/ pdfkit.rb

PDFKit.configure do |config| 
    config.wkhtmltopdf = 'PATH/TO/wkhtmltopdf' 
end 
+1

windows?大聲笑:)從http://code.google.com/p/wkhtmltopdf/downloads/list下載wkht ..並安裝它。然後將您的安裝路徑放入pdfkit.rb – fl00r 2012-03-07 13:24:47

+0

當使用AWS elastic beanstalk和'gem install wkhtmltopdf'時,將'config.wkhtmltopdf'設置爲'/ opt/rubies/ruby​​-2.2.4/bin/wkhtmltopdf''。意思是我沒有設置容器命令來在我的EC2實例上安裝wkhtmltopdf ...謝謝 – 2016-07-05 09:17:55

+0

檢查最後的評論...我的意思是'gem install wkhtmltopdf-binary' – 2016-07-05 09:25:44

2

阿里,

我沒有看到你提到哪個操作系統幹你的。 Fl00r和I都假設它是一個Linux系統,所以要相應地進行調整。這就是我需要做的,以使PDFKit能夠在wkhtmltopdf上運行,用於在64位Ubuntu 12.04 LTS上運行的Rails應用程序。

從您的Gemfile中刪除對wkhtmltopdfwkhtmltopdf-binary的任何提及。

gem 'pdfkit', :require => 'pdfkit'您的Gemfile

添加在您的config/initializers/mime_types.rb文件中添加

Mime::Type.register "application/pdf", :pdf 

刪除任何文件

卸載從服務器,你就

運行Rails應用程序的寶石
gem uninstall wkhtmltopdf -a 
gem uninstall wkhtmltopdf-binary -a 

the project download site here下載到您的服務器wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2。最新的建議下載版本存在一個錯誤,它會阻止用戶從生成的PDF中選擇和複製文本,但是該版本沒有該錯誤。這個問題在http://code.google.com/p/wkhtmltopdf/issues/detail?id=886

引用從tar歸檔

tar -xvf wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2 

將它解壓可執行文件到/usr/local/bin/目錄

sudo mv wkhtmltopdf-0.10.0.rc2 /usr/local/bin/ 

現在設置一個符號鏈接文件,所以很容易升級稍後

sudo ln -s /usr/local/bin/wkhtmltopdf-0.10.0.rc2 /usr/local/bin/wkhtmltopdf 

對文件設置

sudo chmod 755 /usr/local/bin/wkhtmltopdf-0.10.0.rc2 

的權限做了這一切,並重新啓動我的服務器後,PDFKit現在使用的是我已經安裝在服務器上的wkhtmltopdf。

警告:有一次,我的Rails應用程序開始報告它無法在路徑中找到wkhtmltopdf可執行文件,不確定爲什麼沒有任何更改。重新啓動服務器糾正了這個問題。