Question

Je suis en train d'utiliser PDFKit comme middleware dans des rails 3 app.

Je peux utiliser wkhtmltopdf de la ligne de commande très bien, mais mon application continue à me lancer cette erreur

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" "-" "-"

Si je cours ce dans le terminal, il attend mon entrée, je tape du code HTML, puis appuyez sur Ctrl-d et il crache ce qui semble être un peu PDF ... mais pas de chance dans des rails.

Voici ce que j'ai:

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

dans mon contrôleur (première ligne)

respond_to :html, :pdf

Je pense que je suis passé par toutes les discussions sur SO, Github et Google, mais pas de chance.

Quelqu'un peut-il aider ou d'un point moi dans la bonne direction?

merci, P.

Était-ce utile?

La solution

Quelqu'un a résolu le problème et gentiment affiché leur solution .

Autres conseils

Exécuter et copier le chemin

  

qui wkhtmltopdf

Créer config/initializers/pdfkit.rb:

 PDFKit.configure do |config|
   config.wkhtmltopdf = '/path/to/wkhtmltopdf'
 end

Le wkhtmltopdf qui se présente comme un petit bijou est assez vieux. Désinstaller ce petit bijou et essayez de les wkhtmltopdf fichier binaire . Téléchargez, décompressez et le déplacer vers /usr/local/bin/. Il devrait aider.

Pourquoi l'erreur commence par

/Users/bobby/... 
encore le début de votre config avec
/Users/pierrelapree/... 

Edit:

Une autre différence entre votre code et l'exemple dans le README: https://github.com/pdfkit/PDFKit est qu'ils montrent config.middleware.use prendre un argument de classe ou d'un module, pas une chaîne.

Essayez de changer cette

config.middleware.use "PDFKit::Middleware", :print_media_type => true

à cette

config.middleware.use PDFKit::Middleware, :print_media_type => true
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top