Ich kann eine PDF-Datei herunterladen mit:
%Vor%Das bedeutet, dass die Installation von wkhtmlpdf erfolgreich war.
Aber wenn ich versuche, eine PDF-Datei zu erzeugen, indem ich auf http://localhost:3000/contacts/1.pdf
zugreife, hängt es. In der Statusleiste wird angezeigt: Waiting for localhost...
Rails Server-Ausgabe:
%Vor%Gemfile:
%Vor%application.rb:
%Vor% Laut dem PDFKit-Railscast sollte dies ausreichen, um PDF-Dateien zu generieren, indem Sie einfach UPDATE: show.html.erb: layouts / application.html.erb: UPDATE 2: Danke an @Arman H, dass er mir geholfen hat, herauszufinden, dass ich absoluten Pfad für Assets angeben muss, anstatt für relative Assets. Als ich die folgenden Zeilen entfernte, konnte ich eine PDF-Datei erzeugen: Nun kann ich nicht sagen, wie ich das durch absolute Pfade ersetzen soll. 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. .pdf
...
Das Problem war auf stylesheet_link_tag
und javascript_include_tag
bei Verwendung relativer URLs zurückzuführen, was oft dazu führt, dass wkhtmltopdf
hängen bleibt, wenn Assets von demselben Server geladen werden, auf dem wkhtmltopdf
ausgeführt wird.
Die Verwendung von absoluten URLs für Assets löste das Problem.
Setzen Sie asset_host
in der Konfiguration von Rails, was sich auch auf stylesheet_link_tag
und javascript_include_tag
auswirkt:
Einstellung config.action_controller.asset_host = "http://localhost"
in development.rb funktionierte eigentlich nicht für mich. Das heißt, die PDF-Generierung würde funktionieren, aber beim Rendern von HTML würden die Assets nicht durchkommen.
Ich folgte der Methode hier: Ссылка
und es hat wie ein Zauber für mich funktioniert. Hoffe, das hilft jemandem. Werfen Sie einfach Assets.rb in Config / Initializer und Sie sind gut zu gehen.
Ich hatte das gleiche Problem, bei dem mein Protokoll zeigte, dass die Seite gerendert wurde, jedoch wurde keine PDF generiert und der Browser würde hängen. Am Ende hatte es nichts mit OS-Kompatibilität, fehlenden Librariern, Gems oder Abhängigkeiten zu tun, sondern ich musste die maximal zulässige Thread-Anzahl für meinen Puma-Server (die auf 1 gesetzt wurde) auf 2 oder mehr erhöhen. Dies erzeugt dann PDF's als normal.
Tags und Links ruby-on-rails pdf ruby-on-rails-4 wkhtmltopdf pdf-generation