2011-01-13 15 views
10

Ich versuche, PDFKit als Middleware in einer Rails 3 App zu verwenden.Rails PDFKit Befehl fehlgeschlagen

kann ich wkhtmltopdf von der Kommandozeile verwenden ganz gut, aber meine app hält mich diesen Fehler zu werfen

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

Wenn ich dies im Terminal laufen, ist es für meine Eingabe wartet, so dass ich einige HTML-Typ, dann drücke Ctrl-d und es spuckt etwas aus, was wie ein PDF aussieht ... aber kein Glück in den Schienen.

Hier ist, was ich habe:

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 meinem Controller (erste Zeile)

respond_to :html, :pdf 

Ich glaube, ich habe auf SO, Github und Google über alle Themen gegangen aber kein Glück.

Kann mir jemand helfen oder in die richtige Richtung weisen?

Dank, P.

Antwort

1

Warum tritt der Fehler mit

/Users/bobby/...
noch Ihre Konfiguration starten beginnt mit
/Users/pierrelapree/...

Edit:

Ein weiterer Unterschied zwischen Ihrem Code und dem Beispiel in der Readme: https://github.com/pdfkit/PDFKit ist, dass Sie zeigen config.middleware.use unter Verwendung eines Klassen- oder Modularguments, keine Zeichenfolge.

Versuchen Sie, diese

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

dieser

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

Meine schlechte, habe ich überprüft und sie sind die gleichen. Ich habe die Frage korrigiert – Pierre

+0

Sieht immer noch anders in der Frage? Wie auch immer, ein anderer Vorschlag oben. – jemminger

1

Die wkhtmltopdf ändern, die als ein Juwel ist ziemlich alt kommt. Deinstallieren Sie dieses Schmuckstück und versuchen Sie Folgendes: wkhtmltopdf binary file. Downloaden, entpacken und verschieben Sie es auf /usr/local/bin/. Es sollte helfen.

6

Run und kopieren Sie den Pfad

die wkhtmltopdf

erstellen:

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

Diese Antwort hat mir jetzt doppelt Kopfschmerzen bereitet. –

Verwandte Themen