PDF-Dokumente aus HTML-Code mit Symfony generieren

Oftmals ist es erforderlich, aus einer Webanwendung heraus PDF-Dokumente zu erzeugen. Zum Beispiel für das Erstellen von Rechnungen. Es gibt zahlreiche Bibliotheken, die diese Aufgabe erledigen können, meist ist die Implementierung mit erheblichem Aufwand verbunden, da jedes Layout-Element in der Regel pixelgenau positioniert werden muss. Einfacher wäre es, PDF-Dokumente direkt aus HTML-Code zu generieren.

Für Webanwendungen, die auf Basis des Symfony-Frameworks entwickelt wurden, stellt die Erzeugung von PDF-Dokumenten kein Problem dar. Es genügt, den Inhalt des PDF-Dokuments als HTML-Seite zu rendern und die Ausgabe serverseitig mit Hilfe des Tools wkhtmltopdf in ein PDF-Dokument umzuwandeln. Dieses lässt sich anschließend auf dem Server speichern oder als Download zur Verfügung stellen.

Der Vorteil besteht darin, dass sich HTML-Seiten wesentlich leichter formatieren lassen, als es über eine PDF-Generierungs-Bibliothek möglich wäre. Ebenfalls werden sämtliche gängigen Schriftarten und Grafiken direkt übernommen.

Ein Nachteil ist, dass auf dem eingesetzten Server zusätzliche Software installiert werden muss, die zusätzliche Ressourcen benötigt und bei einer Vielzahl an Nutzern, die möglicherweise gleichzeitig PDF-Dokumente generieren, schnell eine hohe Auslastung erreicht wird. Dieses Problem ließe sich jedoch über eine Job Queue bzw. einen Job Scheduler lösen, der sich mit wenigen Zeilen Code implementieren lässt und auch für andere Aufgaben eingesetzt werden kann. Das führt zwar dazu, dass der Nutzer gegebenenfalls etwas warten muss, bis sein PDF-Dokument zur Verfügung steht – aber auch dafür gibt es eine Lösung, wenn die Job Queue dem Nutzer eine E-Mail sendet, sobald der Job erledigt ist.

Benötigen Sie Unterstützung bei der Implementierung einer Lösung zur Generierung von PDF-Dokumenten in Ihre Webanwendung?

Kontakt aufnehmen

Telefonisch erreichen Sie uns unter der Nummer 0911 – 664 661 50.

Bitte füllen Sie das folgende Formular aus, um uns eine Nachricht per E-Mail zukommen zu lassen.

Ich möchte ein Angebot erhalten
Ich möchte telefonisch kontaktiert werden
Vorname (*)
Nachname (*)
Firmenname
E-Mail (*)
Telefonnummer
Nachricht




Bildquelle: wkhtmltopdf.org

Schreibe einen Kommentar