PDF-Erstellung aus Formulardaten
oder anderen Benachrichtigungen
des Notification-Centers

Softleister – Hagen Klemp
im Forum: do_while
bei GitHub: do-while
Contao Premium Partner aus Berlin
Ich arbeite mit Contao/Typolight seit 2007
Erweiterungen:
BackupDB, Ticker, Backend-Hinweise, Linksplitter
diverse PDF-Erweiterungen
Contao PDF-Erweiterungen
- PDF-Template
- mPDF-Template
- contao-nc-pdf-attachment-bundle*
- contao-pdfforms-bundle* (pdf_forms)
Weitere ...
Erweiterung für Isotope (z.B. Rechnungen)
Erweiterung für die Library DOM-PDF
* kostenpflichtige Erweiterung, kostenfreie Demo verfügbar
PDF-Template
Mit pdf-template kann eine gespeicherte
PDF-Datei als Layoutvorlage
für die PDF-Ausgabe eines Artikels aktiviert werden.
(Bedienung über die Syndikation-Icons im Artikel)
Es wird direkt das HTML/CSS an die Library übergeben.
Beispiel: Eindruck in den "Firmenbogen" mit Logo, usw.
Verwendet wird die Bibliothek TCPDF.
mPDF-Template
Alternativ kann mit mpdf-template ebenfalls eine
PDF-Datei als Layoutvorlage dienen.
Unterschied ist die verwendete PDF-Library mPDF, auch hier wird direkt das HTML/CSS an die Library übergeben.
mPDF soll besser/anders mit dem CSS umgehen können als TCPDF, was bei pdf-template Verwendung findet.
contao-nc-pdf-attachment-bundle
Diese Erweiterung ist das eigentliche Vortragsthema
Wieder eine PDF-Vorlage, diesmal aber zum Ausfüllen einzelner Positionen mit Daten aus Formulareingaben, Registrierungen oder anderen Quellen.
Hier kann aus Texten, SimpleTokens und InsertTags ein PDF aufgebaut und an die E-Mail angehängt werden.
contao-pdfforms-bundle
(Erweiterung pdf_forms aus Contao 3.x)
Gleiches Konzept, wie bei contao-nc-pdf-attachment-bundle, ist aber direkt dem Formulargenerator zugeordnet.
Das schränkt etwas die Nutzung ein, da Formulare, wie die Registrierung nicht über den Generator laufen.
Die folgenden Ausführungen
sind aber hier fast 1:1 anwendbar.
Ein PDF als NC Attachment
Anwendungen und Einsatzgebiete:
- Online-Anmeldungen
- Service-Formulare
- Umfragen
- Personalisierung von Dokumenten
- Präsentationsmappen
- und vieles mehr ...
Einstellungen im E-Mail-Gateway
Die PDF-Vorlagedatei enthält
das unausgefüllte Formular
Ein Verzeichnis, wo die generierten
PDFs gespeichert werden sollen
überschreiben oder versionieren
Nutzung des Mitgliederverzeichnisses möglich
Eine Kennzeichnung zum
Dateinamen hinzufügen
Einstellungen im E-Mail-Gateway
Entnahme nur bestimmer Vorlagenseiten nach Bedingung
Seiten ohne Einträge übernehmen?
Liste SimpleTokens erstellen (Debug)
Basisverschiebung X/Y
Standard-Schreibfarbe
Titel und Autor (PDF-Eigenschaften)
Einstellungen im E-Mail-Gateway
Das PDF kann geschützt werden!
1) Verschlüsseln, öffnen nur mit Passwort möglich
2) Berechtigungen einschränken, z.B. kein Kopieren von Inhalten zulassen oder Kommentare verbieten
(Der Schutz bei PDFs ist ggf. nicht absolut sicher!)
Die einzelnen Einträge
TEXTE
- bestehen aus festen Texten
- aus Eingaben per SimpleTokens
- aus Ersetzungen von InsertTags
- können von Bedingung abhängen
Jeder Texteintrag kann die Standardfarbe überschreiben
Die einzelnen Einträge
QR-Codes
- flexibel wie bei Texten
- SimpleTokens und InsertTags
- verschiedene Größen verfügbar
- Farbanpassung
Die einzelnen Einträge
BILDER
- aus der Dateiverwaltung
- aus dem Formular-Upload
- aus einem Data-Stream
- Bedingungen möglich
Position und Größe werden
angegeben, das Bild wird
bestmöglich proportional
eingepasst.
Die einzelnen Einträge
Felder ankreuzen?
Kann mit dem Textelement realisiert werden.
Schreibe ein großes X genau in das Kästchen.
Mit der Bedingung steuert man,
ob das X geschrieben wird.
Welche SimpleTokens gibt es?
Nicht immer ist klar, welche SimpleTokens
überhaupt zur Verfügung stehen.
Fügt im PDF eine Seite mit einer Token-Liste an.
(Nur wenn Sie gleichzeitig im Backend angemeldet sind!)
Treffen alle Einträge ihre Position in der Vorlage?
Um nicht alle Varianten im Frontend durchspielen zu müssen, gibt es einen Test-Download
Füllt alle Felder aus, kreuzt alle Kästchen an
Als Text wird der SimpleToken-Name verwendet
Seitenformate
Die Vorlagenseite bestimmt direkt das Ausgabeformat.
Beispiel: eine Vereinsanmeldung
- Bestätigungsschreiben (DIN A4)
- erste Beitragsrechnung (DIN A4)
- Mitgliedskarte (Scheckkartengröße)
- persönlicher Trainingsplan (DIN A4 quer)
- Satzung (10 Seiten DIN A4)
... alles automatisch in einem generierten PDF
Formular unterschreiben?
Mit der Erweiterung contao-signature-formfield-bundle kann man Online auf Touchscreen, Tablet oder Smartphone "unterschreiben".
Die Grafik wird als Daten-Stream im SimpleToken übertragen. Mit dem Bildelement läßt sich die Unterschrift im PDF einbauen.

Beispiel
Grob Aircraft
Entwicklung, Herstellung und Verkauf branchenführender Flugzeuge durch den Einsatz modernster Technologien und höchste Qualitätsstandards.
(Mit freundlicher Genehmigung der Grob Aircraft SE)

Query-Report
Service-Formulare im geschützten Bereich können Online ausgefüllt werden.

Ereignismeldung
ankreuzen, wie die CheckBoxen im Online-Fragebogen

Schadensmeldung
genaues Ausfüllen mit den eingegebenen Online-Daten
Möglichkeiten für Entwickler
Um spezielle Verhalten zu integrieren, gibt es 3 Hooks:
- bevor aus den Daten ein PDF erzeugt wird
- für jede einzelne Position
- nach der Erzeugung des PDF
Hook pdfnc_BeforePdf
Nach Datenaufbereitung wird der Hook mit einem Array der Daten aufgerufen. Der Hook kann Einträge hinzufügen oder verändern und dann das Array zurückgeben.
Hook pdfnc_Positions
Bei der PDF-Erstellung wird der Hook für jede Position aufgerufen. Hier können alle Positionsdaten mit Ausnahme der Seitennummer manipuliert werden.
Hook pdfnc_AfterPdf
Wird nach der Erstellung und Speicherung und vor der Übergabe an das Notification-Center aufgerufen. Hier können abschließende Aktivitäten erfolgen.

Vielen Dank für Eure Aufmerksamkeit
Softleister – Hagen Klemp
E-Mail: info@softleister.de
Twitter: @Softleister
Ich bedanke mich bei:
Grob Aircraft und der Agentur IBWEB GURU S.L. für das Beispiel
und bei Contao Bayern und BugBuster für reveal.js für Contao