Ich bin in der Lage mit pdf-Datei zum Download:Erzeugungs pdf hängt an Schienen 4 mit PDFKit gem
curl google.com | wkhtmltopdf - test.pdf
so bedeutet es, wkhtmlpdf Installation erfolgreich war.
Aber wenn ich versuche, PDF-Datei durch Zugriff auf http://localhost:3000/contacts/1.pdf
zu generieren, hängt es. In der Statusleiste zeigt es: Waiting for localhost...
Rails Server Ausgabe:
Started GET "/contacts/1.pdf" for 127.0.0.1 at 2013-07-28 21:45:06 +0900
ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by ContactsController#show as HTML
Parameters: {"id"=>"1"}
Contact Load (0.3ms) SELECT "contacts".* FROM "contacts" WHERE "contacts"."id" = ? LIMIT 1 [["id", "1"]]
Rendered contacts/show.html.erb within layouts/application (1.4ms)
Completed 200 OK in 99ms (Views: 57.0ms | ActiveRecord: 0.7ms)
Gemfile:
gem 'pdfkit'
application.rb:
config.middleware.use "PDFKit::Middleware"
Nach dem PDFKit railscast dies sein sollte, genug für das Generieren von PDF-Dateien, indem Sie einfachhinzufügen 0 ...
UPDATE:
show.html.erb:
<p id="notice"><%= notice %></p>
<p>
<strong>Name:</strong>
<%= @contact.name %>
</p>
<p>
<strong>Age:</strong>
<%= @contact.age %>
</p>
<%= link_to 'Edit', edit_contact_path(@contact) %> |
<%= link_to 'Back', contacts_path %>
Layouts/application.html.erb:
<!DOCTYPE html>
<html>
<head>
<title>Pdftest</title>
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
UPDATE 2:
Dank @Arman H für die Hilfe, um herauszufinden, dass ich absoluten Pfad für Assets anstelle von relativen angeben muss. Wenn ich die folgenden Zeilen entfernt war ich in der Lage PDF-Datei zu erzeugen:
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
Jetzt kann ich nicht bekommen, wie diese mit einem absoluten Pfade zu ersetzen. Es scheint, dass dies post ist, was ich brauche, aber ich kann immer noch nicht herausfinden, wie das für meinen Fall aussehen würde.
Wie lange hängt es? Erhalten Sie irgendwelche Fehler von 'wkhtmltopdf' in der Rails-Konsole? Manchmal scheint es zu hängen, aber es dauert wirklich lange, das PDF zu verarbeiten. Wie lange hast du es laufen lassen, bevor du die Anfrage abgeschafft hast? –
Das Problem oben hatte ich auf Mac OS x. Jetzt habe ich dasselbe auf Linux Mint. Es ist immer noch "Warten auf localhost ..." für 20 min und es scheint, dass dies endlos sein wird. Ich muss den Server nur mit Strg + C abbrechen. – Askar
Wenn ich den Server nach 40 Minuten heruntergefahren habe, erzeugte er eine PDF-Datei für mich. Ich versuchte erneut, den Server nach 1 Minute herunterzufahren, in diesem Fall zeigte es: Befehl fehlgeschlagen:/usr/bin/wkhtmltopdf - Seitengröße Letter --margin-top 0,75 - margin-rechts 0,75 - margin-bottom 0.75in --margin-left 0.75in --encoding UTF-8 --quiet - - – Askar