openforms bietet die Möglichkeit, PDFs innerhalb eines Formulars zu erstellen. Hierfür wird ein Seiten-Template ( der pdfLib Seiten Rahmen), in das alle dynamischen Inhalte, die in einem Formular erstellt werden können, eingebetet eingebettet werden, benötigt.
Erstellen eines pdfLib Seiten Rahmen
Ein Dokument diesen Typs kann Unterdokument eines Medien-Ordners sein. Klickt man in der Strukturansicht (TAB: Seitenstruktur bearbeiten) in der Spalte eines Medien-Ordners auf den Button Erstellen, so wird dieser Dokumententyp an Stelle 12 zur Auswahl gestellt.
Mit Klick auf Auswählen kann mein dem Template eine Dokumententitel geben und mit Klick auf Anlegen und Bearbeiten wird ein neues Dokument angelegt.
Man gelangt in die Inhaltsansicht (TAB: Inhalt bearbeiten) des Dokuments.
Pflichtfelder sind im neuerstellten Dokument bereits mit Default-Werten belegt, sodass man für sehr einfache Dokumente bereits das neuerstellte, ohne selbst Anpassungen vorzunehmen, nutzen kann.
Konfiguration eines pdfLib Seiten Rahmen
Ein pdfLib Seiten Rahmen definiert die übergeordnete Seitenstruktur für ein PDF-Dokument. Es ist möglich, dass ein PDF-Dokument aus mehreren Seiten besteht. Jede Seite hat dieselbe übergeordnete Struktur, die innerhalb des pdfLib Seiten Rahmens definiert wird.
pdfLib Optionen
Im Feld pdfLib Optionen kann man strukturelle Optionen definieren, die für alle Inhaltselemente der PDF gelten sollen.
Die Optionen werden hintereinander in der Form key=value ohne Separator (kein Komma oder ähnliches) aneinandergereiht. Optionen, die nicht explizit in diesem Feld aufgelistet sind, bekommen den für diese Option definierten Default-Wert.
Beispiel:
verticalalign=justify linespreadlimit=120%
Alle möglichen Optionen werden nachfolgend aufgelistet.
Schlüsselwort | mögliche Werte | Default-Wert |
---|---|---|
Abstand zwischen der oberen Grenze, des Inhaltsbereichs und der ersten Textzeile (baseline). | Kommazahl Konstanter Abstand in Pixeln. Beispiel: Prozentzahl Prozentualer Abstand in Abhängigkeit von der relevanten Schriftgröße. Ist die Option Beispiel: Schlüsselwort
| leading |
Definiert die Strategie, die angewendet wird, wenn der Inhalt (Text) eines Blocks nicht in den Bereich passt, der für diesen vorgesehen ist. Spielt nur bei Blöcken eine Rolle, die nicht mehrzeilig sind. | Schlüsselwort
Beispiel: | auto |
Abstand zwischen der unteren Grenze des Inhaltsbereichs und der letzten Textzeile (baseline). | Kommazahl Konstanter Abstand in Pixeln. Beispiel: Prozentzahl Prozentualer Abstand in Abhängigkeit von der relevanten Schriftgröße. Ist die Option Beispiel: Schlüsselwort
Beispiel: |
|
Die Option hat nur Auswirkungen, wenn Maximaler Betrag, der gesetzt werden kann, um die vertikale Ausrichtung (Zentrierung der Zeilen vertikal) zu gewährleisten. | Kommazahl Konstanter Abstand in Pixeln. Beispiel: Prozentzahl Prozentualer Abstand in Abhängigkeit von dem Zeilenabstand, der im jeweiligen Block gesetzt ist. Beispiel: | 200% |
Definiert die maximale Anzahl an Zeilen, die im Inhaltsbereich stehen dürfen. | (positive) Ganzzahl Konstante Anzahl an Zeilen. Beispiel: Schlüsselwort
| auto |
minfontsize Die Option hat nur Auswirkungen, wenn In der Regel ist dies nicht der Fall und die Option braucht nicht gesetzt werden. | Kommazahl Konstante Größe. Beispiel: Prozentzahl Prozentuale Größe in Abhängigkeit von der Höhe des Blocks Beispiel: | 0.1% |
Definiert die gewünschte Ausrichtung des Texts. | Schlüsselwort
Beispiel: | north |
Dreht das Koordinatensystem, das die untere, linke Ecke des Inhaltsbereichs als Ursprung (0/0) nimmt. Alle Inhalte werden um die angegeben Gradzahl gedreht. | Kommazahl Konstanter Drehwinkel. Beispiel: | 0 |
Vertikale Ausrichtung des Texts im Inhaltsbereich | Schlüsselwort
Der erste Abstand (zwischen erster Zeile und oberer Grenze) richtet sich dabei ausschließlich nach dem Wert, der in der Option firstlinedist definiert worden ist. Beispiel: | top |
Konfiguration der Größe des Inhaltsbereichs
Hinzufügen weiterer PDFLibBlocks
Zusätzlich können weitere Absätze auf den PDFLib Seiten Rahmen gesetzt werden (bspw. ein Logo oder ein Header / Footer, der auf jeder Seite erscheinen soll).
Klickt man auf den Button Erstellen, kann man zwischen zwei Absatz-Typen auswählen:
- pdfLib Textblock: fügt einen Text an eine zu definierende Stelle des PDFLib Seiten Rahmen ein. Es können auch dynamische Texte mithilfe von OGNLs erzeugt werden.
- pdfLib Bild: fügt ein Bild an eine zu definierende Stelle des PDFLib Seiten Rahmen ein. Texte können Bilder umfliessen.
pdfLib Textblock
UnterBei pdfLib Optionen können die Optionen für den Textblock definiert werden (Vgl. pdfLibTextblock Optionen).
Unter Fließtext kann der Text eingegeben werden, der erscheinen soll. Hier sind auch OGNL-Ausdrücke möglich (in Form: %%OGNL: ...%%).
In den Feldern X und Y kann angegeben werden, an welcher Stelle der pdfLib Textblock auf dem Dokument erscheinen soll. Die Angaben sind in Pixeln vorzunehmen. X gibt den Abstand des linken Rahmens des Textblocks zum linken Rand der PDF-Seite an. Y gibt den Abstand des unteren Rahmens des Textblocks zum unteren Rand der PDF-Seite an.
Wird die Größe des Blocks nicht explizit in den pdfLib-Optionen definiert, "wandert" die Größe des Blocks mit jedem Zeichen solange in X-Richtung (nach rechts) bis das Ende der PDF-Seite erreicht ist. Mit jeder neuen Zeile "wandert" die Größe des Blocks analog in Y-Richtung (nach oben).
Mithilfe des Feldes Sichtbar Bedingung kann man mit Hilfe eines OGNL-Ausdrucks festlegen, wann der Textblock angezeigt werden soll.
pdfLib Bild
Unter pdfLib Optionen können die Optionen für das Bild definiert werden.
Mit Klick auf den Button Setzen kann ein Bild ausgewählt werden, was innerhalb dieses Blocks angezeigt werden soll. Diese Bild muss bereits als Medium in openforms angelegt worden sein.
In den Feldern X und Y kann angegeben werden, an welcher Stelle der pdfLib Bild auf dem Dokument erscheinen soll. Die Angaben sind in Pixeln vorzunehmen. X gibt den Abstand des linken Rahmens des Blocks zum linken Rand der PDF-Seite an. Y gibt den Abstand des unteren Rahmens des Blocks zum unteren Rand der PDF-Seite an.
Wird die Größe des Blocks nicht explizit in den pdfLib-Optionen definiert, so ist die Größe des Originalbilds ausschlaggebend, wie viel Platz der Block auf dem pdf-Lib einnimmt.
Mithilfe des Feldes Sichtbar Bedingung kann man mit Hilfe eines OGNL-Ausdrucks festlegen, wann der Textblock angezeigt werden soll.
Hinzufügen von Seitenzahlen (Page Counter)
Es gibt zusätzlich die Möglichkeit, den PDF Seiten Rahmen mit Seitenzahlen zu versehen.
Hierfür muss im Bereich toolBox ein Absatz vom Typ pdfLib Textblock erstellt werden.
Die pdfLib Optionen sowie die Felder X und Y und die Sichtbar Bedingung können analog zum pdfLib Textblock definiert werden.
Im Fließtext kann man definieren, wie die Seitenzahl angezeigt werden soll. @@page@@
kann als Platzhalter für die Zahl der aktuellen Seite und @@pageCount@@
als Platzhalter für die Gesamtzahl an Seiten verwendet werden.
Damit die Platzhalter ersetzt werden, muss unter Weitere Eigenschaften in dem Auswahlmenü Toolname die Option Page Counter ausgewählt werden.