错误:
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。当我尝试使用gem时(注释掉这一行:
WickedPdf.config = { :exe_path => '/usr/local/bin/wkhtmltopdf'}
事情似乎崩溃了,没有任何反应......
当我使用二进制文件时,我会在顶部显示错误。
我的宝石版本是:
wicked_pdf(0.9.4)
和wkhtmltopdf-binary(0.9.9.1)。
我正在寻求帮助 - 这就是我已经尝试过的:
编辑: 如果我使用终端并输入“wkhtmltopdf www.myHomepage.info myhomepage.pdf”,它可以正常工作。 “哪个wkhtmltopdf”给了我“/ usr / bin / wkhtmltopdf”的路径,但是如果我想用一个,它打开“wkhtmltopdf_darwin_386”并且网站冻结..
答案 0 :(得分: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
我不得不在应用程序中删除WickedPDF作为中间件.rb:
require 'wicked_pdf'
config.middleware.use WickedPdf::Middleware, {}
现在它按预期工作了。