J'ai un problème pour générer un fichier PDF avec pdf_kit gem. Si je lance ces commandes dans la ma console app (RAILS_ENV = rails de production c):les rails et pdfkit ne peuvent pas générer de pdf à partir du contrôleur
kit = PDFKit.new(html, :page_size => 'Letter')
file = kit.to_file('./demo.pdf')
Je peux voir le fichier pdf généré correctement, mais si je tente la même chose sur le contrôleur d'action, de cette façon:
kit = PDFKit.new("ciao")
kit.to_file('/root/app/bidimal/demo1.pdf')
Je reçois cette erreur dans production.log
RuntimeError (command failed: "/root/.rbenv/shims/wkhtmltopdf" "--encoding" "UTF-8" "--page-size" "A4" "--margin-top" "0.25in" "--margin-right" "0.25in" "--margin-bottom" "0.25in" "--margin-left" "0.25in" "--quiet" "-" "/root/app/bidimal/demo1.pdf"):
app/controllers/winners_controller.rb:69:in `invoice'
Je l'ai déjà vérifié le chemin de wkhtmltopdf en utilisant:
which wkhtmltopdf
/root/.rbenv/shims/wkhtmltopdf
donc je suppose que c'est correct. Par la façon dont j'ai cela dans config/initializers/pdfkit.rb
PDFKit.configure do |config|
config.wkhtmltopdf = '/root/.rbenv/shims/wkhtmltopdf'
config.default_options[:ignore_load_errors] = true
config.default_options = {
:encoding=>"UTF-8",
:page_size=>"A4",
:margin_top=>"0.25in",
:margin_right=>"0.25in",
:margin_bottom=>"0.25in",
:margin_left=>"0.25in",
:disable_smart_shrinking=>false
}
end
Je suis sous nginx + passager, le problème peut être lié en quelque sorte à tous les paramètres de nginx (comme les processus disponibles, etc.)? Merci
J'ai téléchargé la bonne corbeille à partir d'ici http://code.google.com/p/wkhtmltopdf/downloads/list et j'ai modifié pdfkit.rb afin de le désigner. ça marche bien –
Donc, votre problème est résolu? Si oui, pensez à poster une réponse ou à clôturer la question. – PinnyM