Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 6 Nächste Version anzeigen »

Für Dokumente und Inhalte kann über die Aktion "Generieren" der Generierungsdialog geöffnet werden. Dort können folgende Ausgabearten gewählt werden.

Ausgabearten

Browseransicht

Das generierte HTML wird mit dem Styling aus dem Theme in einem neuen Browsertab dargestellt. Diese Ansicht dient als Vorschau für das Element und kann in verschiedenen Browser kleine Unterschiede aufweisen.

Preflight-Ansicht

Die Preflight-Ansicht dient dazu, ein einheitliches Ergebnis zu generieren. Hierbei wird das HTML über den Server verarbeitet und weist damit keine Browser-Unterschiede beim Verteilen der Inhalte auf mehrere Seiten mehr auf. Diese Ansicht dient damit als Vorschau für die Verteilung der Elemente.

Technisch wird das HTML hier an einen Headless Chrome via Puppeteer übergeben.

Druck PDF

Bei der Ausgabe "Druck PDF" wird das HTML serverseitig zu einem PDF umgewandelt und zum Download angeboten.

Technisch wird das HTML an Puppeteer übergeben um Seitenumbrüche und ähnliches und verarbeiten und das Ergebnis ohne Javascript mit PdfReactor zu einem PDF umgewandelt.

callas pdfToolbox Profile

Es kann im Dialog ein Profil gewählt werden, welches auf das Druck-PDF angewendet wird. Damit kann zum Beispiel ein Low-Res-PDF erzeugt werden.

Events

Der Generierungsdialog kann um Felder erweitert werden, um Informationen direkt vor dem Generieren abzufragen und in die Generierung rein zu reichen.

Ein Beispiel dafür ist die Sprache, für die generiert werden soll. Diese wird vor dem Generieren abgefragt und dann zum Beispiel von den Texten für die Silbentrennung verwendet.

Beim Bestätigen des Dialogs werden die Felder aus dem Formular dann in einen neuen \Brandbox\PrintCore\PrintDocument\Render\Lib\Entity\PrintRenderContext gespeichert, welcher den Elementen beim Rendern zur Verfügung steht.

Mit \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnPopulateRenderTypes kann auch ein eigener RenderType (Ausgabeart) eingeführt werden. Darauf muss dann natürlich in \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteGenerate reagiert werden.

\Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteGenerate wird mit den Daten des Dialogs aufgerufen und baut einen AdvancedResponseStack auf, der dann zurückgegeben wird. Die oben beschriebenen Ausgabe reagieren abhängig des $type auf dieses Event.

Das tatsächliche Verarbeiten der Werte aus dem Generierungsdialog, bzw. das Generieren des HTML geschieht dann in einem neuen Request. Um hier einzugreifen, können die Events für das Erweitern der Scopes verwendet werden. Die Scopes dienen beim Rendern als inhaltliche Struktur des Dokumentes, bzw. der Seiten. Diese Events sind \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnPopulateScopeDocument, OnPopulateScopePage, OnPopulateScopeElement.

Mit \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteRender kann auf den Prozess beim tatsächlichen Rendern des Dokumentes zugegriffen werden.

  • Keine Stichwörter