BISO unterstützt die automatische Befüllung von PDF-Formularen für Berichte. Dies ermöglicht die Verwendung von bestehenden PDF-Vorlagen (z.B. offizielle Formulare) mit ausfüllbaren Formularfeldern.
Anstatt PDFs mit XML/XSL zu generieren, können Sie fertige PDF-Formulare hochladen und BISO befüllt diese automatisch mit den Daten aus dem Beratungsfall.
BISO nutzt folgende Open-Source-Bibliotheken für die PDF-Formular-Befüllung:
PDFtk (Java-Port): https://gitlab.com/pdftk-java/pdftk PDF Toolkit zum Lesen und Befüllen von PDF-Formularen
php-pdftk: https://github.com/mikehaertl/php-pdftk PHP-Wrapper für PDFtk zur einfachen Integration
Die PDF-Vorlage muss ausfüllbare Formularfelder enthalten (wie z.B. Formulare, die man in Adobe Reader ausfüllen kann).
Gehen Sie zu: Administration → Wertelisten → Beratungsfall Bericht Vorlagen
Erstellen Sie eine neue Vorlage oder öffnen Sie eine bestehende.
Im Tab "Allgemein":
Wechseln Sie zum Tab "PDF-Formular":
Um herauszufinden, welche Felder Ihre PDF-Vorlage hat:
Im Textfeld "Feld-Mapping (JSON)" müssen Sie definieren, welche Daten in welche PDF-Felder gefüllt werden sollen.
Format:
{
"pdf_feldname": "BISO-Daten",
"weiteres_feld": "weitere Daten"
}
Beispiel:
{
"kunde_name": "{$Kunde->name}",
"kunde_vorname": "{$Kunde->vorname}",
"geburtsdatum": "{$Kunde->geburtsdatum|date_format_utf8:'%d.%m.%Y'}",
"strasse": "{$Kunde->strasse}",
"plz": "{$Kunde->plz}",
"ort": "{$Kunde->ort}",
"berater_name": "{$berater->name}",
"datum_heute": "{$smarty.now|date_format_utf8:'%d.%m.%Y'}",
"beschaeftungsgrad": "{$Bericht->bericht_obj->beschaeftigungsgrad|default:\"---\"}"
}

Abbildung: Der PDF-Formular Tab zeigt die hochgeladene PDF-Vorlage und das Feld-Mapping in JSON-Format
Speichern Sie die Bericht-Vorlage mit dem konfigurierten Feld-Mapping.
Im Beratungsfall:
Methode 1 (empfohlen): Verwenden Sie die Funktion "PDF-Felder analysieren" in BISO
Methode 2: Öffnen Sie das PDF in Adobe Acrobat → Formular → Felder bearbeiten
Methode 3: Online-Tool verwenden: PDF Fillable Field Reader
{ } am Anfang und EndeRichtig:
{
"feld1": "wert1",
"feld2": "wert2"
}
Falsch:
{
'feld1': 'wert1', <- Falsche Anführungszeichen
"feld2": "wert2", <- Komma beim letzten Eintrag
}
Felder, die nicht im Mapping enthalten sind, bleiben leer. So können Formulare teilweise ausgefüllt und vom Benutzer ergänzt werden.