2012-03-07 74 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可执行文件,不确定为什么没有任何更改。重新启动服务器纠正了这个问题。