Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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.