Verwaltung
Um ein PDF zu generieren und Vorlagen zu verwalten, muss Ihrem Benutzer eine Rolle zugewiesen werden, die das Berechtigungsobjekt “Plugin PDF-Generierung” enthält.
Schablonen
Sie können eine PDF-Vorlage erstellen, indem Sie HTML, CSS und JSON verwenden.
Auf der rechten Seite wird eine Live-Vorschau angezeigt, sodass Sie die Änderungen in Echtzeit sehen können.
Das Rendering wird mit wkhtmltopdf ausgeführt, daher funktioniert jedes HTML-Format und jede Funktion, die die QT Webkit-Render-Engine unterstützt.
Mit jedem Template wird ein Stylesheet im LESS-Format generiert, das automatisch eingebettet wird.
Sie können dieses Stylesheet über die gleiche Schnittstelle wie das HTML-Template pflegen.
Das Einbinden von Grafiken (<img src=”…”)> und zusätzlichen Stylesheets (<link rel=”stylesheet” href=”…”)> wird ebenfalls unterstützt.
Diese externen Asserts werden über den “assets”-Slot des AppServers abgerufen (sie sollten dort vorab hochgeladen werden).
Sie können in der Vorlage mit einem relativen Dateinamen darauf verweisen (kein Präfix “http://”, kein Pfad usw.!).
Beispiel: <img src=”image.jpg”> (wenn die Datei als “image.jpg” hochgeladen wurde)
Darüber hinaus können Sie Ausdrücke im Schnurrbartformat hinzufügen.
Diese “Variablen” werden später durch Werte aus der Aktualisierungsdatei für eine Sitzung ersetzt.
Die dynamischen Daten werden als JSON-String im Key-Value-Store mit dem Schlüssel: “sessiondata/$session” abgerufen.
($session = die Session-ID, die für die Generierung angegeben ist)
Verschmelzend
Sie können Ihr PDF-Dokument mit anderen PDFs oder Bildern aus dem Schlüssel-Wert-Speicher kombinieren.
Zu diesem Zweck können Sie die Liste aller Ressourcen, die Sie zusammenführen möchten, mit dem Schlüssel “merge/$session” im Schlüssel-Wert-Speicher aufrufen.
Die Liste sollte einem JSON-Array entsprechen, wobei die Einträge des JSON-Arrays die Schlüssel der zusammenzuführenden Ressourcen sind.
Beispiel: [“document1.pdf”, “document2.pdf”, “image.jpg”].
Die Binärdaten der entsprechenden Dokumente sollten im Schlüssel-Wert-Speicher unter den Schlüsseln “document2.pdf”, “document2.pdf” und “image.jpg” abgelegt werden.
Wenn die Liste der Mergeressourcen für eine Sitzung nicht gefunden wird oder wenn die Liste leer ist, wird die Merge übersprungen.
Speichern der generierten PDF-Datei
Nachdem ein PDF erfolgreich generiert wurde, werden die Binärdaten im Key-Value Store unter dem Schlüssel “pdf/$jobid.pdf” abgelegt. ($jobid = die Job-ID, die nach dem Start der Generierung zurückgegeben wird) Wenn die Generierung aufgrund eines Fehlers nicht erfolgreich ausgeführt werden kann, wird eine Fehlermeldung unter dem Schlüssel “pdf/$jobid.log” im Schlüssel-Wert-Speicher gespeichert.