3

エラー:

RuntimeError in BillsController#printing

Failed to execute:
"/usr/local/bin/wkhtmltopdf" -q        "file:////var/folders/j5/2wx0qdjj7kl7vbvq3m2z4rj00000gn/T/wicked_pdf20130213-41259-x9dcb5.html" "/var/folders/j5/2wx0qdjj7kl7vbvq3m2z4rj00000gn/T/wicked_pdf_generated_file20130213-41259-mg4iqp.pdf" 
Error: PDF could not be generated!

BillsController:

  # GET /bills
  # GET /bills.json
  def print
    respond_to do |format|
      format.html 
      format.pdf do
        render :pdf => "rechnung_id",
               :layout => "printing.pdf",
               :show_as_html => params[:debug]
      end
    end
  end

ビューとして、printing.html.erbとprinting.pdf.erbを作成し、両方を試しました。

wkhtmltopdfをバイナリおよびgemとしてインストールしました。私が宝石を使おうとすると(行をコメントアウト:

WickedPdf.config = { :exe_path => '/usr/local/bin/wkhtmltopdf'}

何かがクラッシュしたようで、何も起こりません。バイナリを使用すると、エラーが一番上に表示されます。私のgemのバージョンは、wicked_pdf(0.9.4)とwkhtmltopdf-binary(0.9.9.1)です。

私は助けを探していました-それは私がすでに試したことです:

  1. 「バンドルアップデート」と「バンドルインストール」
  2. バージョン9.9でインストールされたwkhtmltopdf
  3. 「Mime::Type.register "application / pdf"、:pdf」を追加しました

編集:ターミナルを使用して「wkhtmltopdfwww.myHomepage.info myhomepage.pdf」と入力すると、正常に動作します。「whichwkhtmltopdf」はパス「/usr/ bin / wkhtmltopdf」を表示しますが、これを使用したい場合は「wkhtmltopdf_darwin_386」が開き、Webサイトがフリーズします。

4

1 に答える 1

2

今、私は問題を解決しました。

コントローラのメソッドを次のように変更しました。

 def printing
    @bills = Bill.find(params[:id])

    respond_to do |format|
      format.html
      format.pdf do
        render :pdf => "bill_#{@bills.id}",
               :wkhtmltopdf => '/usr/bin/wkhtmltopdf',
               :template => '/bills/printing.pdf.erb',
               :disposition => "inline"
               #:save_to_file => Rails.root.join('pdf', "rechnung_#{@bills.id}.pdf")
      end
    end
  end

そして、application.rbのミドルウェアとしてWickedPDFを削除する必要がありました。

require 'wicked_pdf'
config.middleware.use WickedPdf::Middleware, {}

今では期待どおりに機能しています。

于 2013-02-13T11:50:55.807 に答える