FormFiller

(Formular-Füller)

Beschreibung

Dieses Plugin ermöglicht es, PDF-Formulare mit Profildaten und Profilbildern von Mitgliedern, sowie beliebigen Texten und Bildern zu befüllen.

Die Erzeugung von Etiketten ist ebenfalls möglich. Für jedes verwendete PDF-Formular bzw. jede Etikettenvorlage wird eine eigene Konfiguration erzeugt.

Bei den PDF-Formularen kann es sich um unterschiedliche Arten von PDF-Dateien handeln, z.B. Beitrittserklärungen, SEPA-Lastschriftmandate, Einladungen, Serienbriefe oder Mitgliedsausweise.

Downloads

formfiller_2.3.2.zip - (Admidio 3.3)

Ältere Version:
formfiller_2.2.2.zip - (Admidio 3.2)
formfiller_2.1.2.zip - (Admidio 3.1)
formfiller_2.0.2.zip - (Admidio 3.0)
formfiller_1.0.3.zip - (ab Admidio 2.4.4)

Informationen

Betreut von: rmb

Plugin-Version: 2.3.2

Notwendige Admidio-Version: 3.3

Unterstützte Datenbanken: MySQL

Unterstützte Sprachen: Deutsch (du), Deutsch (Sie), Englisch, Französisch

Lizenz: GPL 2

Sourcecode: GitHub

Screenshots

Installation

  • Im Ordner adm_plugins einen neuen Ordner mit dem Namen formfiller erstellen
  • Danach alle Dateien (und Ordner) des Ordners formfiller aus der entpackten Zip-Datei in diesen Ordner kopieren.
  • Anschließend über das Admidio-Modul Menü einen Menüeintrag für FormFiller mit folgender URL erzeugen: /adm_plugins/formfiller/formfiller.php (Beim Erstellen dieses Menüeintrages wird dringend empfohlen, im Feld „Sichtbar für“ eine Rolle anzugeben).

Update

  • Zuerst alle Dateien im Pluginverzeichnis von FormFiller löschen.
  • Danach alle Dateien (und Ordner) des Ordners formfiller aus der entpackten Zip-Datei in das Pluginverzeichnis kopieren.

Änderungshistorie

2.3.2 (30.10.2018)

2.3.1 (22.04.2018)

2.3.0 (16.04.2018)

2.2.2 (25.11.2017)

2.2.1 (03.05.2017)

2.2.0 (19.12.2016)

2.1.2 (13.09.2016)

2.1.1 (09.06.2016)

2.1.0 (09.02.2016)

  • Kompatibilität mit Admidio 3.1

2.0.2 (18.01.2016)

  • Die versehentlich gelöschte Funktion “strstr_multiple” wieder eingefügt
  • Link zur Dokumentation geändert
  • Option Vortext “{=” und Nachtext “}=” von lagro eingearbeitet

2.0.1 (02.11.2015)

  • Fehler (verursacht durch die Methode addHeadline) behoben

2.0.0 (27.05.2015)

  • Anpassung an Admidio 3.0
  • Deinstallationsroutine erstellt
  • Verfahren zum Einbinden des Plugins (include) geändert
  • Menübezeichnungen angepasst (gleichlautend mit anderen Plugins)
  • Nur Intern: Verwaltung der Konfigurationsdaten geändert

1.0.3 (04.12.2014)

  • Druckmöglichkeit von Profilfoto und aktuellem Datum

1.0.2 (07.05.2014)

  • Erzeugung von Mehrfachdokumenten über neues Modul Listenwahl realisiert

1.0.1 (30.04.2014)

  • Aufruf des Plugins über die Klasse Menu realisiert (Systemanforderung jetzt Admidio Version 2.4.4 oder höher)

1.0.0 (14.04.2014)

Funktionsweise

FormFiller erstellt PDF-Dokumente mit den Profildaten von Mitgliedern sowie mit beliebigen Texten oder auch Bildern. Die Mitglieder können entweder namentlich ausgewählt oder anhand einer vorher definierten „Eigenen Liste“ bestimmt werden. Beim Drucken unterscheidet FormFiller zwischen Formulardruck (feste X-Y-Koordinaten) und Etikettendruck (relative X-Y-Koordinaten).

Begriffsdefinition "Formulardruck"

Formulardruck im Sinne von FormFiller bedeutet, dass die Befüllung eines PDF-Formulars anhand absoluter XY-Koordinaten durchgeführt wird. Die Angaben für X und Y definieren hierbei die horizontale und vertikale Position in Millimeter bezogen auf die linke, obere Ecke des PDF-Formulars.

Beispiel:

Im obigen Beispiel wird der Vorname des Mitglieds 60 Millimeter nach rechts und 80 Millimeter nach unten, gerechnet von der linken, oberen Ecke des Formulars, geschrieben. Der Nachname wird 100 Millimeter nach rechts und 80 Millimeter nach unten, ebenfalls gerechnet von der linken, oberen Ecke des Formulars, geschrieben.

⇒ Nachname und Vorname befinden sich in derselben Zeile (80 mm)
⇒ Vorname (bei 60mm) steht vor Nachname (bei 100mm)

Weitergehende Informationen zu diesem Thema befinden sich im Abschnitt „Menüpunkt Konfigurationen“ in dieser Dokumentation.

Begriffsdefinition "Etikettendruck"

Etikettendruck im Sinne von FormFiller bedeutet, die kleinste X-Koordinate einer Zeile bestimmt den Beginn des Drucks. Alle weiteren X-Koordinaten einer Zeile dienen ausschließlich der Sortierung.

Beispiel:

Mit Formulardruck würde das Druckbild folgendermaßen aussehen: (immer bezogen auf die linke, obere Ecke des Formulars)

  • Geschlecht (Anrede) auf Position 20,30 (20 Millimeter nach rechts und 30 Millimeter nach unten)
  • Vorname auf Position 25,30 (25 Millimeter nach rechts und 30 Millimeter nach unten)
  • Nachname auf Position 26,30 (26 Millimeter nach rechts und 30 Millimeter nach unten)

⇒ Der Nachname würde hierbei einen Millimeter rechts vom Vornamen beginnen und diesen fast vollständig überschreiben.

Ist jedoch Etikettendruck eingestellt, dann sieht das Druckbild folgendermaßen aus:

  • Geschlecht Vorname Nachname (jeweils getrennt durch ein Lehrzeichen)

⇒ Kleinste X-Koordinate im Beispiel ist 20, d.h. das Geschlecht (= Anrede) bestimmt den Beginn des Drucks an Position 20,30 (20 Millimeter nach rechts und 30 Millimeter nach unten, bezogen auf die linke, obere Ecke des Formulars). Vorname und Nachname werden, jeweils getrennt durch ein Leerzeichen, angefügt.

Weitergehende Informationen zu diesem Thema befinden sich im Abschnitt „Menüpunkt Konfigurationen“ in dieser Dokumentation.

Das Hauptmenü

Zum Befüllen eines PDF-Dokumentes muss im Hauptmenü eine Datenquelle und eine Formularkonfiguration ausgewählt werden. Die Angabe einer PDF-Datei ist optional.

Als Datenquelle kann entweder eine Listenkonfiguration in Verbindung mit einer Rolle dienen oder einzelne Benutzer. Ausgewertet werden in der Listenkonfiguration nur Bedingungen, die zu einem Feld angegeben sind. Felder ohne Bedingung sind ohne Bedeutung.

In der Formularkonfiguration sind die verschiedenen Parameter für den Druck definiert, u. a. die XY-Koordinaten der zu druckenden Profilfelder, Schriftgröße, Schriftfarbe, Beziehungen, die Unterscheidung Formular- oder Etikettendruck.

Wurde in einer Formularkonfiguration keine PDF-Datei definiert, so kann über „PDF-Datei (optional)“ ein zu befüllendes PDF-Dokument ausgewählt werden.

Das Menü Einstellungen ist über den, nur für Administratoren sichtbaren Link “Einstellungen”, rechts oben im Hauptmenü anwählbar. Es ist in drei Menüpunkte unterteilt.

  • Konfigurationen
  • Optionen
  • Plugininformationen

Über Konfigurationen können beliebig viele Formularkonfigurationen erstellt werden. Nach einer Neuinstallation sind drei Musterkonfigurationen voreingestellt und mit Standardwerten befüllt:

  • Musterformular
  • Umschlag DL
  • Adressetiketten

Bezeichnung

Das Feld Bezeichnung ist ein Pflichtfeld und immer zu befüllen.

Schriftart, Schriftstil, Schriftgröße und Schriftfarbe

Die hier eingestellten Schriftattribute (Art, Stil, Größe und Farbe) gelten für alle Profilfelder derselben Konfiguration.

PDF-Form-Ausrichtung, PDF-Form-Größe, PDF-Form-Einheit

Parameter für die zu erstellende PDF-Datei.

PDF-Datei

Über PDF-Datei kann ein PDF-Formular ausgewählt und dieser Konfiguration zugewiesen werden.

Wichtiger Hinweis: PDF-Formulare dürfen maximal die PDF-Version 1.4 aufweisen. Erscheint die Fehlermeldung “This document (….pdf) probably uses a compression technique which is not supported by the free parser shipped with FPDI.”, dann wurde das PDF-Formular in einer höheren Version und mit spezifischen Techniken erstellt, die FormFiller nicht verarbeiten kann.

Damit FormFiller auf PDF-Formulare zugreifen kann, müssen diese vorher in den Download-Bereich von Admidio hochgeladen werden (Hinweis: Die Auswahl für eine PDF-Datei wird erst am Bildschirm angezeigt, wenn mindestens eine Datei in den Download-Bereich hochgeladen wurde). Wird für eine Konfiguration kein PDF-Formular ausgewählt, so erzeugt FormFiller selbständig ein leeres Dokument anhand der Vorgaben von PDF-Form-Ausrichtung, PDF-Form-Größe und PDF-Form-Einheit (Standard ist Hochformat, A4, und Einheit Millimeter).

Etiketten

Um Etiketten zu drucken sind folgende Angaben im Feld Etiketten erforderlich: Spaltenanzahl,Spaltenabstand,Zeilenanzahl,Zeilenabstand.

Beispiel:

Hier würde der Etikettendruck wie folgt aussehen:

  • 3 Etiketten nebeneinander (3 Spalten), im Abstand von 70 mm (Spaltenabstand)
  • 7 Etiketten untereinander (7 Zeilen), im Abstand von 25 mm (Zeilenabstand)

Ist das Feld Etiketten befüllt, so werden die XY-Positionsangaben von FormFiller folgendermaßen interpretiert: Zuerst sortiert FormFiller alle Profilfelder anhand der Positionsangaben nach Zeile (Y-Koordinate) und Spalte (X-Koordinate). Anschließend wird die kleinste X-Koordinate einer Zeile bestimmt. Diese kleinste X-Koordinate legt den Beginn des Drucks fest. Alle weiteren X-Koordinaten derselben Zeile dienen ausschließlich der Sortierung.

Beispiel:

Kleinste X-Koordinate für die Zeile 30 im obigen Beispiel ist 20, d.h. der Druckbeginn der Zeile 30 ist an Position 20,30.

Die Profilfelder werden wie folgt gedruckt:
Anrede Vorname Nachname

Hinweis: Um in ein PDF-Dokument ein einzelnes Adressetikett zu schreiben (z.B. Serienbrief mit Einladungen, wobei jede einzelne Einladung die Adresse des Mitglieds aufweisen soll), müssen im Feld Etiketten folgende Werte eingetragen werden: 1,0,1,0.

Beziehung

Neben den Profildaten eines Mitglieds können auch die Profildaten einer Beziehung ausgelesen werden (Hinweis: Profilfelder einer Beziehung stehen in der Feldwahl erst zur Verfügung, nachdem die Formularkonfiguration gespeichert, geschlossen und wieder geöffnet wurde).

Im folgenden Beispiel ist die Beziehung „Ehepartner/-in“ gewählt und die Profildaten des Partners sind in der Konfiguration verfügbar.

Im Hauptmenü werden als Benutzer das Mitglied und sein Ehepartner gewählt.

Bei Etikettendruck könnte das Ergebnis wie folgt aussehen:

Auch der Druck eines Frankiervermerkes für Dialogpost ist möglich.

Feldwahl

Über Feldwahl können einer Konfiguration beliebig viele Profilfelder hinzugefügt werden.

Um die Daten eines Profilfeldes in ein PDF-Dokument zu schreiben müssen mindestens eine X- und eine Y-Koordinate angegeben sein. Die Angaben für X und Y definieren hierbei die horizontale und vertikale Position in Millimeter, bezogen auf die linke, obere Ecke eines Formulars.

Um einzelne Profilfelder hervorzuheben, können zusätzlich zu X- und Y-Koordinate weitere Anweisungen mitangegeben werden. Mehrere Zusatzanweisungen sind hierbei durch Semikolon zu trennen.

Die verschiedenen Parameter für die Zusatzanweisungen:

Parameter Bedeutung Gültigkeit abgeleitet von Beispiel Anmerkung
F Schriftart (F)ont F=Arial Mögliche Werte: Courier oder Arial oder Times oder Symbol oder ZapfDingbats
A Schriftstil (A)ttribut A=B Mögliche Werte: B (bold, fett) oder I (italic, kursiv) oder U (underline, unterstrichen), Mehrfachkombinationen sind möglich
S Schriftgröße (S)ize S=16 Schriftgröße in Punkt
C Schriftfarbe (C)olor C=0,0,255 Schriftfarbe als RGB-Wert (Rot-Grün-Blau)
T Text nur bei Options-/Dropdownfeldern (z.B. Geschlecht) (T)ext T=Herrn,Frau
{ Vortext {=Hallo
} Nachtext }=,
D Datum nur bei Zusatzfeld Datum (D)ate D=d.m.y Formatparameter der Funktion date()
V beliebiger Text nur bei Zusatzfeld Text (V)alue V=Hinweis
L Bild nur bei Zusatzfeld Profilfoto (L)ogo L=PIC1234.jpg
LW Linienbreite nur bei Zusatzfeld Linie oder Rechteck (L)ine(W)idth LW=0.5
DC Zeichenfarbe nur bei Zusatzfeld Linie oder Rechteck (D)raw(C)olor DC=255,0,0 Zeichenfarbe als RGB-Wert (Rot-Grün-Blau)
FC Füllfarbe nur bei Zusatzfeld Rechteck (F)ill(C)olor FC=0,100,100 Füllfarbe als RGB-Wert (Rot-Grün-Blau)
RS Rechteckstil nur bei Zusatzfeld Rechteck (R)ectangle(S)tyle RS=D Mögliche Werte: D (draw, mit Rahmen) oder F (fill, ausgefüllt) oder DF (draw and fill, ausgefüllt mit Rahmen)
P Drucken auf Seite… (P)age P=2 Hinweis: Wird der Parameter P für eine Seite verwendet die nicht existiert, so wird das Feld nicht ausgedruckt
K KeyManager Profilfeld nur bei Zusatzfeld Text (K)eyManager K=KEYNAME Das Plugin KeyManager (Schlüsselverwalter) besitzt keine eigene Druckroutine. FormFiller stellt über den Parameter K eine Schnittstelle zum Erstellen von Schlüsselübergabebelegen zur Verfügung.

Beispiele:

Profilfeld Position und Zusatzanweisungen Bedeutung
Nachname 10,20 Nachname auf Position 10,20
Vorname 10,40;S=7;F=Arial Vorname auf Position 10,40 mit Schriftart Arial in 7pt
Adresse 40,20;C=255,102,255;A=BU Adresse auf Position 40,20 mit Schriftfarbe rosa, unterstrichen und in Fettschrift
Geschlecht 40,20,60,20;T=Herrn,Frau abhängig vom Geschlecht, wird der Text „Herrn“ an Position 40,20 oder der Text „Frau“ an Position 60,20 geschrieben

Besonderheit Profilfeld Geschlecht

Um das Geschlecht eines Mitglieds in Formularen zu kennzeichnen oder um den Text „Herrn“ oder „Frau“ auf Etiketten zu schreiben, gibt es für das Profilfeld Geschlecht eine abweichende Syntax.

Syntax:
X1,Y1,X2,Y2; T=<Text für männlich>,<Text für weiblich> (Der “Text für männlich” wird hierbei an Position X1,Y1 ausgegeben, der “Text für weiblich” an Position X2,Y2.)

oder

X,Y; T=<Text für männlich>,<Text für weiblich> (Sowohl der “Text für männlich”, als auch der “Text für weiblich” werden an Position X,Y ausgegeben.)

Beispiele:

1. Fall:
In einem Formular sind folgende Felder vorhanden:

  • das Rechteck von männlich befindet sich an Koordinate 60,50
  • das Rechteck von weiblich befindet sich an Koordinate 80,50

Abhängig vom Geschlecht soll männlich bzw. weiblich mit einem X markiert werden.

Syntax:
60,50,80,50;T=X,X

Ergebnis:
Ist das Mitglied männlich, so wird ein X an Position 60,50 geschrieben, ist das Mitglied weiblich, so wird ein X an Position 80,50 geschrieben

2. Fall:
Für Etiketten soll, abhängig vom Geschlecht, der Text „Herrn“ bzw. „Frau“ an Position 70,40 geschrieben werden.

Syntax:
70,40,70,40;T=Herrn,Frau (In diesem Fall wäre auch folgende, verkürzte Schreibweise möglich: 70,40;T=Herrn,Frau)

Ergebnis:
Ist das Mitglied männlich, so wird der Text Herrn an Position 70,40 geschrieben, ist das Mitglied weiblich, so wird an derselben Position der Text Frau geschrieben.

Die Zusatzfelder Datum, Profilfoto, Text, Linie und Rechteck

Zusätzlich zu den Profilfeldern können das aktuelle Datum, das Profilfoto des Mitglieds (wenn vorhanden), ein Bild aus dem Download-Bereich von Admidio, ein beliebiger Text, eine Linie oder auch ein Rechteck in das PDF-Dokument eingefügt werden.

Feld Position und Zusatzanweisungen Bedeutung
Datum 10,20 Aktuelles Datum auf Position 10,20
Datum 10,40;D=d. F Y Aktuelles Datum im Format <Tag>. <Monat> <Jahr> ( =Formatparameter der Funktion date() ) auf Position 10,40, z.B. 12. November 2017
Datum 17,20;F=Arial;S=12 Aktuelles Datum auf Position 17,20 in Arial 12 pt
Profilfoto 40,20 Das Profilfoto des Mitglieds (wenn vorhanden) wird auf Position 40,20 mit 72 dpi eingefügt.
Profilfoto 40,20,30 Das Profilfoto des Mitglieds wird auf Position 40,20 mit einer Breite von 30 mm, unter Beibehaltung der Seitenverhältnisse, eingefügt.
Profilfoto 40,20,0,50 Das Profilfoto des Mitglieds wird auf Position 40,20 mit einer Höhe von 50 mm, unter Beibehaltung der Seitenverhältnisse, eingefügt.
Profilfoto 40,20,30,50;L=bild.jpg Das Foto bild.jpg aus dem Download-Bereich von Admidio wird, wenn vorhanden, auf Position 40,20 mit einer Breite von 30 mm und einer Höhe von 50 mm eingefügt.
Text 10,20;V=Hinweis Der Text Hinweis wird auf Position 10,20 eingefügt
Linie 20,40,60,80;LW=0.5 Linie von Position 20,40 nach Position 60,80 in Linienbreite 0.5 mm
Rechteck 60,70,20,40;LW=2;RS=FD;DC=255,0,0;FC=0,255,255 Rechteck an Position 60,70 mit Breite 20 und Höhe 40, ausgefüllter Rahmen mit Rahmenbreite 2 mm, Rahmenfarbe 255,0,0 und Füllfarbe 0,255,255

Unterstützte Bildformate:

  • JPEG (Joint Photographic Experts Group)
  • PNG (Portable Network Graphics)
  • GIF (Graphics Interchange Format)

Über Optionen können Einstellungen für die Anzeige der erstellten PDF-Dokumente festgelegt und die Deinstallation durchgeführt werden.

max. PDF-Anzeige

Max. PDF-Anzeige ist die maximale Seitenzahl, die ein PDF-Dokument (bei Erstellung von Mehrfachdokumenten) aufweisen darf, damit es noch am Bildschirm angezeigt wird. Ist die Anzahl der Seiten größer, wird sofort der Download der Datei angeboten.

Zusätzliche PDF-Größen

Hier können neben den Standardgrößen A3, A4 usw. zusätzliche Größen für das zu erzeugende PDF-Dokument angegeben werden. Mehrere Größen sind durch Semikolon zu trennen (z.B. 160×100;120×60).

Export/Import

Über Export/Import können Konfigurationen sowohl exportiert als auch importiert werden (Beispielkonfigurationen gibt es auf https://github.com/rmbinder/FormFiller/releases).

Deinstallation

Über die Deinstallation können alle vom Plugin erstellten Konfigurationsdaten wieder gelöscht werden.

Hier werden Informationen zur Version und zum Stand des Plugins angezeigt.

Die Speicherung der Konfiguration

Alle Konfigurationsdaten werden in einer Tabelle mit dem Namen adm_plugin_preferences in der Admidio-Datenbank gespeichert. Sollte diese Tabelle nicht existieren, wird sie angelegt.

Derzeit werden in dieser Tabelle die Konfigurationen folgender Plugins abgelegt:

  • Mitgliedsbeitrag
  • Kategoriereport
  • Geburtstagsliste
  • FormFiller

Die Tabelleneinträge des Plugins FormFiller beginnen hierbei alle mit den Buchstaben “PFF”.

Beispiele

Nachfolgend einige Beispiele von mit FormFiller befüllten PDF-Formularen:

Muster einer Beitrittserklärung: Die mit Daten befüllte Beitrittserklärung:
Muster eines Mitgliedsausweises: Der mit Daten befüllte Mitgliedsausweis:
Muster eines SEPA-Lastschriftmandats: Das mit Daten befüllte SEPA-Lastschriftmandat:
  • de/plugins/formfiller.txt
  • Last modified: 2018/11/03 10:58
  • by rmb