10

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 のように見えるものが吐き出されますが、レールではうまくいきません。

ここに私が持っているものがあります:

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.

4

4 に答える 4

6

パスを実行してコピーする

どの wkhtmltopdf

作成config/initializers/pdfkit.rb:

 PDFKit.configure do |config|
   config.wkhtmltopdf = '/path/to/wkhtmltopdf'
 end
于 2011-04-11T11:39:36.930 に答える
3

誰かが問題を解決し、親切に解決策を投稿しました

于 2011-07-06T09:01:29.690 に答える
1

宝石とwkhtmltopdfして来るものはかなり古いです。このgemをアンインストールして、次のwkhtmltopdfバイナリファイルを試してください。ダウンロードして解凍し、に移動し/usr/local/bin/ます。それは役立つはずです。

于 2011-04-11T11:35:30.443 に答える
1

エラーがで始まるのはなぜですか

/ユーザー/ボビー/...
まだあなたの設定はで始まります
/ユーザー/ピエールラプリー/...

編集:

コードと README: https://github.com/pdfkit/PDFKitの例のもう 1 つの違いはconfig.middleware.use、文字列ではなく、クラスまたはモジュールの引数を取ることを示していることです。

これを変更してみてください

config.middleware.use "PDFKit::ミドルウェア", :print_media_type => true

これに

config.middleware.use PDFKit::ミドルウェア、:print_media_type => true
于 2011-02-15T02:49:27.907 に答える