2011-01-13 153 views
10

我想在rails 3应用程序中使用PDFKit作为中间件。Rails PDFKit命令失败

我可以使用命令行就好wkhtmltopdf,但我的应用程序不断抛出我这个错误

command failed: "/Users/bobby/.rvm/gems/ruby-1.9.2-p0/bin/wkhtmltopdf" "--page-size" "Letter" "--margin-top" "0.75in" "--margin-right" "0.75in" "--margin-bottom" "0.75in" "--margin-left" "0.75in" "--encoding" "UTF-8" "--print-media-type" "--quiet" "-" "-" 

如果我在终端运行它,它等待我的输入,所以我输入一些HTML,然后按Ctrl-d,它吐出似乎是一些PDF ......但在轨道上没有运气。

这是我有:

application.rb

require File.expand_path('../boot', __FILE__) 

require 'rails/all' 
require 'pdfkit' 
Bundler.require(:default, Rails.env) if defined?(Bundler) 

module Mpr 
    class Application < Rails::Application 

    YEARS_ARRAY = (2006..2012).map {|y| [y,y]}.unshift(["Year",nil]) 
    MONTHS_ARRAY = (1..12).map{|m| [ Date::MONTHNAMES[m], m]}.unshift(["All months",nil]) 
    config.middleware.use "PDFKit::Middleware", :print_media_type => true 
    PDFKit.configure do |config| 
     config.wkhtmltopdf = '/Users/bobby/.rvm/gems/ruby-1.9.2-p0/bin/wkhtmltopdf' 
    end 
    end 
end 

在我的控制器(第一行)

respond_to :html, :pdf 

我想我已经通过对SO,Github上和谷歌的所有线程不见了,但没有运气。

任何人都可以帮助或指引我在正确的方向吗?

您的代码和自述的例子的另一个区别:https://github.com/pdfkit/PDFKit

感谢,P.

回答

1

为什么错误与

/Users/bobby/...
尚未开始你的配置与
/Users/pierrelapree/...

编辑开始它们显示config.middleware.use采用类或模块参数,而不是字符串。

尝试修改此

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

这个

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

我的不好,我查过了,他们是一样的。我已经纠正了这个问题 – Pierre 2011-02-15 06:17:52

+0

这个问题看起来还是不一样的?无论如何,上面的另一个建议。 – jemminger 2011-02-15 16:16:01

1

自带的宝石是很老的wkhtmltopdf。卸载此Gem并尝试以下wkhtmltopdf binary file。下载并解压缩到/usr/local/bin/。它应该有所帮助。

6

运行和复制路径

这wkhtmltopdf

创建:

PDFKit.configure do |config| 
    config.wkhtmltopdf = '/path/to/wkhtmltopdf' 
end