5

Rails 3 アプリケーションで RVM を使用して PDFKit をセットアップしました (手動で wkhtmltopdf バイナリをコピーする必要がありました)。ページの PDF バージョンをレンダリングしようとすると、次のエラーが発生します。

AgenciesController#show の RuntimeError

コマンドが失敗しました: ["lib/wkhtmltopdf/wkhtmltopdf", "--disable-smart-shrinking", "--page-size", "Letter", "--margin-top", "0.75in", "-- margin-right"、"0.75in"、"--margin-bottom"、"0.75in"、"--margin-left"、"0.75in"、"--encoding"、"UTF-8"、"- -quiet", "\n.......\n", "-"]

以下は私のapplication.rbにあります:

    config.middleware.use "PDFKit::ミドルウェア"
    PDFKit.configure do |config|
    config.wkhtmltopdf = 'lib/wkhtmltopdf/wkhtmltopdf'

    終わり

なぜこれが起こっているのか?どうすれば修正できますか?

コンソールで、次のメッセージに気付きました。

( --ignore-load-errors でこのエラーを無視するだけでうまくいく場合もあります)

そのスイッチはどこで呼び出せますか? wkhtmltopdf はコマンド ラインで正常に動作しているようです。「./wkhtmltopdf http://www.google.com google.pdf」のような操作を実行して PDF を生成できます。

ご協力いただきありがとうございます、

ピーター

4

6 に答える 6

5

ソースコードから判断すると、pdfkit のオプションを設定できます。私は次のことがうまくいくと思います:

PDFKit.configure do |config|
  config.default_options[:ignore_load_errors] = true
end

(私はそれをテストしませんでしたが)

于 2010-08-12T13:59:18.243 に答える
4

Googleで検索したところ、ブログで答えが見つかりました。

解決策はここにあります:

依存関係のインストール

$sudo aptitude install openssl build-essential xorg libssl-dev

64 ビット OS の場合、次のコマンドを 1 つずつ実行します。

$ sudo wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
$ sudo tar xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
$ sudo mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf 
$ sudo chmod +x /usr/local/bin/wkhtmltopdf

最後に、railsapp/config/initializerフォルダーに移動して新しいファイルを作成しpdfkit.rb、次のコードを貼り付けます。

PDFKit.configure do |config|
   config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf' if Rails.env.production?
end

それでおしまい。これで、pdf ファイルがダウンロードされます。詳細については、http : //www.stormconsultancy.co.uk/blog/development/generating-pdfs-in-rails-with-pdfkit-and-deploying-to-a-server/もご覧ください。

ありがとう。

于 2013-03-11T19:49:24.510 に答える
2

このプラグインwicked pdfをチェックしてみてください。

于 2011-10-11T17:16:53.207 に答える
1

ubuntu os でも同様の問題に直面していました。しかし、 https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDFの指示を使用して wkhtmltopdf を再インストールしました。

http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltopdf-0.9.9-static-i386.tar.bz2&can=2&q=からバイナリ ファイルをダウンロードし、/usr/local/ に配置します。私の問題を解決した bin/ ディレクトリ。

于 2013-01-02T12:12:05.710 に答える
1

このハックを使用しました。

config.wkhtmltopdf = `which wkhtmltopdf`.gsub(/\n/, '')

which コマンドは最後に新しい行を返します。

于 2010-09-21T06:05:53.657 に答える