2015-04-18 9 views
5

Ich benutze wicked_pdf gem für HTML zu PDF Konvertierung. Laut den Beschreibungen in Github habe ich alles richtig installiert. Aber ich bin immer einen Laufzeitfehler -WKHTMLTOPDF Pfad in ROR Anwendung

Runtime (Bad wkhtmltopdf Pfad:/usr/local/bin/wkhtmltopdf): app/controllers/orders_controller.rb: 46: in `erstellen

`44 @count = Item.count(:qty) 
45 @temp = Item.where(:received => true).count() 
46 render :pdf => "Bill" , 
47 :template => 'orders/create.pdf.erb', # Excluding ".pdf" extension. 
48 page_height: 100, 
49 page_width: 80` 

und wkhtmltopdf ist in meinem System installiert unter/usr/local/bin/wkhtmltopdf

Es wird angegeben, dass der Pfad für wkhtmltopdf sein sollte, wo es bereits installiert ist.

Ich bin nicht in der Lage herauszufinden, was das Problem ist.

Antwort

2

In der Quelle von wkhtmltopdf sieht es so aus, als ob es nur File.exists ausführt? auf diesem Weg:

https://github.com/mileszs/wicked_pdf/blob/56aa1a195d65eaaf33fbd0254e1e7df99ce1fd1c/lib/wicked_pdf.rb#L41

Also wir müssen die Annahme überprüfen, dass wkhtmltopdf richtig bei /usr/local/bin/wkhtmltopdf

installiert ist Könnten Sie ein bisschen mehr Informationen geben? Nur um zu überprüfen, was ist die Ausgabe von which wkhtmltopdf

Und wenn Sie wkhtmltopdf -V in der Konsole ausführen, was bekommen Sie?

Sie könnten versuchen, den Pfad in der Konfiguration (in einem Initialisierer wie in der wkhtmltopdf-Readme erwähnt) anzugeben, nur um zu sehen, ob das auch einen Unterschied macht.

Und schließlich könnten Sie die ausführbare Datei in ein anderes Verzeichnis verschieben und dann im Initialisierer angeben, ob es möglicherweise etwas mit Ordnerberechtigungen zu tun hat.

+0

Ausgang davon wkhtmltopdf ist -/usr/local/bin/wkhtmltopdf und von wkhtmltopdf -V wkhtmltopdf 0,9 ist. 6 – Niyanta

+0

Hmm, ich bin so verwirrt wie du bist. Ich denke, als letzten Debugging-Versuch könnten Sie versuchen, den Pfad explizit anzugeben und/oder die ausführbare Datei an einen anderen Ort zu verschieben. –

2

Haben Sie versucht, den Pfad in einem Initialisierer anzugeben? ({rails.root} /config/initializers/wicked_pdf.rb) ex ..

WICKED_PDF = { 
    :exe_path => '/usr/local/bin/wkhtmltopdf-amd64'#should be whatever your version is called 
}