I'm trying to use PDFKit as middleware in a rails 3 app.
I can use wkhtmltopdf from the command line just fine, but my app keeps throwing me this error
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" "-" "-"
If i run this in terminal, it waits for my input, so I type some HTML, then press Ctrl-d and it spits what appears to be some PDF... but no luck in rails.
Here's what I have:
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
in my controller (first line)
respond_to :html, :pdf
I think I've gone through all threads on SO, Github and Google, but no luck.
Can anyone help or point me in the right direction?
thanks, P.
Run and copy the path
which wkhtmltopdf
Create config/initializers/pdfkit.rb
:
PDFKit.configure do |config|
config.wkhtmltopdf = '/path/to/wkhtmltopdf'
end
Someone solved the problem and kindly posted their solution.
The wkhtmltopdf
that comes as a gem is quite old. Uninstall this gem and try to the following wkhtmltopdf binary file. Download, unzip and move it to /usr/local/bin/
. It should help.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With