pixel
Seite wählen

PDF's mit Showoff

von | Jan 22, 2016 | Technology

Graphite_TrainingShowoff habe ich ja bereits in einem früheren Blogpost näher behandelt. Heute möchte ich nun etwas über die PDF-Generierung mit Showoff berichten, da hier die ein oder andere Stolperstelle überwunden werden muss.
Generell gibt es drei Möglichkeiten um über Showoff PDF’s zu erstellen, für die ersten beiden muss Showoff zwingend im Präsentationsmodus mit showoff serve gestartet sein. Über den Aufruf http://localhost:9090/pdf, der übrigens auch über einen Button im Presenter-Modus ausgewählt werden kann, ist es nun möglich ein PDF der Präsentation zu erstellen. Leider funktioniert diese Methode nur mit der Masterpräsentation, d.h. supplementäre Aufrufe wie für Exercises oder Solutions (siehe: https://github.com/puppetlabs/showoff/blob/master/documentation/AUTHORING.rdoc) funktionieren damit nicht.
Die zweite Möglichkeit ist der Aufruf über http://localhost:9090/print im Druckmodus. Das Drucken wird hier noch manuell durchgeführt, also brauchen wir dafür einen lokalen PDF-Drucker. Im Gegensatz zur ersten Methode können hier auch die ergänzenden Bereiche beispielsweise über http://localhost:9090/supplemental/exercises aufgerufen werden. Beide bisher vorgestellten Möglichkeiten haben jedoch einige Probleme gemeinsam: Unterschiedliche Browservarianten und teilweise auch verschiedene Browserversionen interpretieren das dahinter liegende CSS oft anders. Dadurch bekommt man leider oft sehr schlechte Druckergebnisse. Ein weiteres Problem ist das diese Vorgänge nicht automatisierbar sind und daher immer von jemandem manuell durchgeführt werden müssen.
Daher nun also die dritte Möglichkeit: Das Showoff-Kommando lässt sich auf der CLI mit einem Parameter namens static aufrufen, dazu muss die Präsentation also nicht einmal gestartet werden. Dieser static-Parameter unterstützt auch die supplementären Teile:

# showoff static print
# showoff static supplemental exercises

Danach befindet sich im neuen Unterordner “static” eine HTML-Datei (index.html). Mit weiteren Tools wie beispielsweise wkhtmltopdf kann nun daraus im Anschluss ein PDF-Dokument erstellt werden. Der große Vorteil dabei ist, das nun ganz einfach auch Seitenzahlen oder ein Copyright-Hinweis hinzugefügt werden kann. Ein Beispielaufruf von wkhtmltopdf sieht so aus:

# wkhtmltopdf -s A5 --print-media-type --footer-left [page] --footer-right '© NETWAYS' static/index.html /HAPPY/NEW/YEAR.pdf

Wer nun schon ganz gespannt auf das Ergebnis ist, dem möchte ich unsere Trainings nahe legen, denn da kommt genau das zum Einsatz.

Markus Waldmüller
Markus Waldmüller
Lead Senior Consultant

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Lead Senior Consultant gelandet. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.
Mehr Beiträge zum Thema Technology

Skalierungseffekte von freier Software

Ein beliebtes Argument für den Einsatz von quelloffener (und idealerweise freier) Software ist, dass sie billiger wäre als eine vergleichbare proprietäre Lösung. Diese Annahme erscheint intuitiv richtig, schließlich ist diese Software oft einfach auffindbar und kostet...

Log Management mit dem Elastic Stack

Auch zum Thema Elastic Stack können wir Euch eine Reihe an Unterstützung in Form von Consulting, Support und Trainings anbieten. Daher möchte ich Euch heute als Einstieg kurz vorstellen, was der Elastic Stack für Euch tun kann und wo der Mehrwert darin steckt, dieses...

Ein kurzer Abriss über Graylog Sidecar

Graylog Sidecar ist ein Konfigurationsmanagementsystem, ein sogenanntes Framework, für unterschiedliche Log Collectoren, auch Backends genannt. Die Graylog Nodes agieren hier als zentraler Hub und halten die Konfiguration der Log Collectoren. Auf unterstützten...

Icinga for Windows – Performance Boost mittels REST-Api

Seit dem ersten Release von Icinga for Windows hat sich eine Menge getan, um sowohl die Funktionalitäten, die Usability als auch die Sicherheit der Lösung zu erhöhen. Ein großer Fokus lag parallel jedoch auch immer auf der Performance, was sowohl auf den Aufbau des...