Rails PDFKit 命令失败

Posted

技术标签:

【中文标题】Rails PDFKit 命令失败【英文标题】:Rails PDFKit command failed 【发布时间】:2011-06-08 15:28:58 【问题描述】:

我正在尝试在 rails 3 应用程序中使用 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 的内容......但在 rails 中没有运气。

这是我所拥有的:

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 和 Google 上的所有主题,但没有运气。

谁能帮助或指出正确的方向?

谢谢,P.

【问题讨论】:

【参考方案1】:

运行并复制路径

哪个wkhtmltopdf

创建config/initializers/pdfkit.rb:

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

【讨论】:

这个答案已经解决了我两次非常头疼的问题。【参考方案2】:

有人解决了这个问题,kindly posted their solution。

【讨论】:

【参考方案3】:

作为宝石出现的wkhtmltopdf 已经很老了。卸载此 gem 并尝试以下wkhtmltopdf binary file。下载、解压并将其移至/usr/local/bin/。它应该会有所帮助。

【讨论】:

【参考方案4】:

为什么错误以

开头
/Users/bobby/... 
但您的配置以
/Users/pierrelapree/... 
开头

编辑:

您的代码与 README 中的示例之间的另一个区别:https://github.com/pdfkit/PDFKit 是它们显示 config.middleware.use 采用类或模块参数,而不是字符串。

尝试更改此设置

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

到这里

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

【讨论】:

我的错,我检查了,它们是一样的。我已经更正了问题 问题看起来仍然不同?无论如何,上面的另一个建议。

以上是关于Rails PDFKit 命令失败的主要内容,如果未能解决你的问题,请参考以下文章

渲染的 PDF 在生产中看起来不同 - Rails、PDFKit、wkhtmltopdf

Ruby on Rails。捆绑器。黄瓜。耙中止!命令失败,状态为 (1)

pdfkit 不设置 pdf 样式

mac 上的 gem install rails 失败错误:无法构建 gem 本机扩展

capistrano 部署 - 基本命令失败

AWS Elastic Beanstalk Rails Bundler 失败