"... oder: wie erstelle ich mit möglichst wenig Aufwand ein sauber druckbares PDF einer bestehenden Internetseite?"
Welcher Web-Entwickler steht nicht irgendwann einmal vor dem Problem, eine aufwändig gestaltete Webseite als PDF bereitstellen zu müssen?
Spätestens bei der Verwendung des HTML5-Canvas-Elements, welches clientseitig im Browser "bestückt" wird, sind viele der bekannten Technologien nicht einsetzbar.
Abhilfe schafft hier ein etwas unkonventioneller Ansatz: wkhtmltopdf
Das Besondere an diesem Tool ist die Möglichkeit, komplett ohne grafische Oberfläche ("headless") eine bestehende Webseite (inklusive Ausgabe der JavaScripts) in eine PDF-Datei auszugeben.
Da das Tool die Webkit-Browserengine zum Rendern verwendet, benötigt es sehr wenige bis gar keine Anpassungen an der Webseite selbst, um ein gutes Ergebnis zu erzielen.
Die neueste Release ist derzeit 0.11.0-rc1. Wenn man damit Canvas-Elemente rendern möchte, sollte man wkhtmltopdf mit einem Framebuffer (zum Beispiel Xvfb) ausführen, oder das ältere Release 0.9.9 verwenden.
Ein gutes Beispiel ist die Geocaching-Website "9eo.de", welche hautpsächlich mittels JavaScript generiert wird. Dort wird eine Statistikseite (http://9eo.de/view?uid=3657968) völlig automatisiert als Bitmap mit wkhtmltoimage gerendert.
Adventsbloggen 2012: Das war ein Gastbeitrag von Malte. Er ist selbständiger IT-Dienstleister und Anwendungsentwickler. Website: http://neo-soft.org
"In überfüllten Geschäften Weihnachtseinkäufe machen zu müssen, verursacht Santa Claustrophobie." Klingt irgendwie vertraut, oder? Die einen lieben es ja, sich zu den übelsten Stoßzeiten quer durch die Einkaufsstraßen zu shoppen. Die anderen hoffen der
Aufgenommen: Dez 03, 09:43