2013-02-13 4 views
3

Erreur:"Erreur: PDF n'a pas pu être généré!" avec WickedPDF

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 

vues comme j'ai créé un printing.html.erb et un printing.pdf.erb - et avons essayé les deux.

J'ai installé wkhtmltopdf en tant que binaire et en tant que gemme. Lorsque je tente d'utiliser la pierre précieuse (commentant la ligne.

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

quelque chose semble tomber en panne et rien ne se passe .. Lorsque j'utilise le binaire, je reçois l'erreur affichée sur Les versions de mes bijoux sont:. wicked_pdf (0.9.4) et wkhtmltopdf binaire (0.9.9.1)

Je cherchais de l'aide - c'est ce que je l'ai déjà essayé:

  1. "mise à jour du paquet" et « paquet installer "
  2. wkhtmltopdf installé dans la version 9.9
  3. ajouté "Mime :: Type.register "application/pdf",: pdf"

EDIT: Si j'utilise le terminal et entrez « wkhtmltopdf www.myHomepage. info myhomepage.pdf "ça marche bien. "wkhtmltopdf" me donne le chemin "/ usr/bin/wkhtmltopdf", mais si je veux utiliser un, il s'ouvre "wkhtmltopdf_darwin_386" et le site se fige ..

Répondre

1

maintenant j'ai résolu le problème.

J'ai changé ma méthode de contrôleur:

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 

et j'ai dû supprimer WickedPDF comme middleware dans le application.rb:

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

maintenant il travaille comme prévu.

Questions connexes