====== 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 ====
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=a760ac87-cb4a-4a26-b547-f35f399a130e|formfiller_3.3.1.zip]] - **(Admidio 4.3)**
Ältere Version:\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=8650da2f-42a9-45a2-9ecf-82bacadb0e6a|formfiller_3.2.0.zip]] - (Admidio 4.2)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=5b235b20-ff62-4d8d-8531-1d81d6bfec24|formfiller_3.1.0.zip]] - (Admidio 4.1)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=8dabd088-4d2f-465c-9530-19fc1dc4da4a|formfiller_3.0.3.zip]] - (Admidio 4.0)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=a462b32f-24d1-47ef-b1c9-3b540cce517a|formfiller_2.3.7.zip]] - (Admidio 3.3)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=29654ad9-e7d8-41af-8074-5c91cbbafbb2|formfiller_2.2.2.zip]] - (Admidio 3.2)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=979ebbf8-2fd0-4f80-9b1c-bf94f7ef24b1|formfiller_2.1.2.zip]] - (Admidio 3.1)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=e320bf42-1ec0-4ed4-8a4b-c5246eaaeb92|formfiller_2.0.2.zip]] - (Admidio 3.0)\\
[[https://www.admidio.org/intern/adm_program/modules/documents-files/get_file.php?file_uuid=164d9f64-55f5-424b-9bfa-3c9d1fbef3eb|formfiller_1.0.3.zip]] - (ab Admidio 2.4.4)
==== Informationen ====
Betreut von: **[[https://www.admidio.org/forum/memberlist.php?mode=viewprofile&u=1506|rmb]] **\\
Plugin-Version: **3.3.1**\\
Notwendige Admidio-Version: **4.3**\\
Unterstützte Datenbanken: **MySQL**\\
Unterstützte Sprachen: **Deutsch (du), Deutsch (Sie), Englisch, Französisch**
Lizenz: **GPL 2**
Sourcecode: [[https://github.com/rmbinder/FormFiller.git|GitHub]]
==== Screenshots ====
{{:de:plugins:formfiller:formfiller_01.png?300|}}
{{:de:plugins:formfiller:formfiller_02.png?300|}}
==== 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 ====
//3.3.1 (01.06.2024)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.3.1|Alle Änderungen dieser Version auf GitHub]]
//3.3.0 (16.01.2024)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.3.0|Alle Änderungen dieser Version auf GitHub]]
//3.2.0 (18.02.2023)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.2.0|Alle Änderungen dieser Version auf GitHub]]
//3.1.0 (05.01.2022)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.1.0|Alle Änderungen dieser Version auf GitHub]]
//3.0.3 (23.08.2021)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.3|Alle Änderungen dieser Version auf GitHub]]
//3.0.2 (20.03.2021)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.2|Alle Änderungen dieser Version auf GitHub]]
//3.0.1 (11.01.2021)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.1|Alle Änderungen dieser Version auf GitHub]]
//3.0.0 (12.12.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.0|Alle Änderungen dieser Version auf GitHub]]
//2.3.7 (06.03.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.7|Alle Änderungen dieser Version auf GitHub]]
//2.3.6 (10.01.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.6|Alle Änderungen dieser Version auf GitHub]]
//2.3.5 (04.01.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.5|Alle Änderungen dieser Version auf GitHub]]
//2.3.4 (04.02.2019)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.4|Alle Änderungen dieser Version auf GitHub]]
//2.3.3 (04.02.2019)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.3|Alle Änderungen dieser Version auf GitHub]]
//2.3.2 (30.10.2018)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.2|Alle Änderungen dieser Version auf GitHub]]
//2.3.1 (22.04.2018)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.1|Alle Änderungen dieser Version auf GitHub]]
//2.3.0 (16.04.2018)//
* Kompatibilität mit Admidio 3.3
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.0|Alle Änderungen dieser Version auf GitHub]]
//2.2.2 (25.11.2017)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.2.2|Alle Änderungen dieser Version auf GitHub]]
//2.2.1 (03.05.2017)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.2.1|Alle Änderungen dieser Version auf GitHub]]
//2.2.0 (19.12.2016)//
* Kompatibilität mit Admidio 3.2
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.2.0|Alle Änderungen dieser Version auf GitHub]]
//2.1.2 (13.09.2016)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.1.2|Alle Änderungen dieser Version auf GitHub]]
//2.1.1 (09.06.2016)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.1.1|Alle Änderungen dieser Version auf GitHub]]
//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:\\
{{:de:plugins:formfiller:beispiel-xy-position.png?400}}
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:\\
{{:de:plugins:formfiller:beispiel-umschlag-dl.png?400}}
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.
{{:de:plugins:formfiller:hauptmenue.png?400}}
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.
{{:de:plugins:formfiller:hauptmenue-auswahl-listenkonfiguration-und-rolle.png?400|}}
{{:de:plugins:formfiller:hauptmenue-auswahl-benutzer.png?400}}
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.
{{:de:plugins:formfiller:hauptmenue-auswahl-benutzer-mit-pdf-datei.png?400}}
=== Menü Einstellungen ===
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
{{:de:plugins:formfiller:standardansicht-einstellungen.png?300}}
{{:de:plugins:formfiller:menue-einstellungen.png?300}}
=== Menüpunkt Konfigurationen ===
Ü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
{{:de:plugins:formfiller:beispielkonfiguration-musterformular.png?300}}
{{:de:plugins:formfiller:beispielkonfiguration-umschlag-dl.png?300}}
{{:de:plugins:formfiller:beispielkonfiguration-adressetiketten.png?300}}
== 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.
{{:de:plugins:formfiller:wahlmoeglichkeit-schriftart.png?200}}
{{:de:plugins:formfiller:wahlmoeglichkeit-schriftstil.png?200}}
{{:de:plugins:formfiller:wahlmoeglichkeit-schriftfarbe.png?200}}
== 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.
{{:de:plugins:formfiller:wahlmoeglichkeit-pdf-datei.png?200}}
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:\\
{{:de:plugins:formfiller:etikettendaten.png?500}}\\
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:\\
{{:de:plugins:formfiller:beispiel-umschlag-dl.png?400}}
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).
{{:de:plugins:formfiller:beziehung-feldwahl.png?400}}
Im folgenden Beispiel ist die Beziehung „Ehepartner/-in“ gewählt und die Profildaten des Partners sind in der Konfiguration verfügbar.
{{:de:plugins:formfiller:beziehung-positionen.png?400}}
Im Hauptmenü werden als Benutzer das Mitglied und sein Ehepartner gewählt.
{{:de:plugins:formfiller:hauptmenue-auswahl-mit-partner.png?400}}
Bei Etikettendruck könnte das Ergebnis wie folgt aussehen:
{{:de:plugins:formfiller:adresse-dl-mit-partner-ohne-frankiervermerk.png?400}}
Auch der Druck eines Frankiervermerkes für Dialogpost ist möglich.
{{:de:plugins:formfiller:adresse-dl-mit-partner-und-frankiervermerk.png?400}}
== Feldwahl ==
Über Feldwahl können einer Konfiguration beliebig viele Profilfelder hinzugefügt werden.\\
{{:de:plugins:formfiller:wahlmoeglichkeit-feldwahl.png?300}}
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.
{{:de:plugins:formfiller:beispiel-xy-position.png?300}}
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. |
^ OI |Index für den Druck | | (O)rder(I)ndex |OI=4 | |
^ OW |Zeilenabstand im mm | | (O)rder(W)idth |OW=10 | |
^ WL |Wortlänge |bei allen Texten | (W)ordwrap(L)ength |WL=35 |Verwendung beim Zeilenumbruch |
^ CL |Zeichenlänge |bei allen Texten | (C)haracterwrap(L)ength |CL=25 |Verwendung beim Zeilenumbruch |
^ WW |Zeilenabstand |nur in Verbindung mit WL oder CL | (W)ordwrap(W)idth |WW=10 |Standardeinstellung: 5 |
^ WM |max. Anzahl der Zeilen |nur in Verbindung mit WL oder CL | (W)ordwrap(M)ax |WM=3 |Standardeinstellung: 1 |
Verwendung und Auswirkung des Druckparameters "P" bei ein- und mehrseitigen PDF-Dateien: \\
^ ^ FormFiller-Konfiguration enthält Druckparameter für eine einzige Seite (der Parameter P=x wird nicht verwendet) ^ FormFiller-Konfiguration enthält Druckparameter für mehr als eine Seite (der Parameter P=x wird verwendet) |
^ Es ist keine PDF-Datei ausgewählt, in die die Daten geschrieben werden sollen | Die Ausgabedatei enthält x Seiten entsprechend der Anzahl der Adressen. Als Hintergrund dient jeweils eine leere DIN A4 Seite. | Die Daten eines Mitglieds werden entsprechend dem Parameter P auf mehrere Seiten aufgeteilt. Als Hintergrund dient jeweils eine leere DIN A4 Seite. |
^ Die zu beschreibende PDF-Datei besteht aus einer Seite oder aus mehreren Seiten (z.B. eine Einladung im Format DIN A 4 oder viele Postkarten mit Online-Briefmarken | Die Ausgabedatei enthält x Seiten entsprechend der Anzahl der Adressen. Als Hintergrund dient jeweils die ausgewählte PDF-Datei. Die Daten des ersten Mitglieds werden auf die erste Seite der PDF-Datei gedruckt. Die Daten des zweiten Mitglieds werden auf die zweite Seite der PDF-Datei gedruckt, usw. Sind alle Seiten der PDF-Datei bedruckt, wird bei der ersten Seite wieder angefangen. Beispiel: Es sollen die Daten von 4 Mitgliedern in eine PDF-Datei die aus zwei Seiten besteht, gedruckt werden. Die Daten des ersten Mitglieds werden auf die erste Seite der PDF-Datei gedruckt. Die Daten des zweiten Mitglieds auf die zweite Seite der PDF-Datei. Anschließend wird wieder bei der ersten Seite begonnen. Daten des 3. Mitgliedes werden wieder gedruckt auf Seite 1, Daten des 4. Mitgliedes werden wieder gedruckt auf Seite 2. | Die Daten eines Mitglieds werden entsprechend dem Parameter P auf mehrere Seiten aufgeteilt. Als Hintergrund dient jeweils die ausgewählte PDF-Datei. Beispiel: Es sollen die Daten von 3 Mitgliedern in eine PDF-Datei die aus zwei Seiten besteht, gedruckt werden. Als Parameter werden P=1 und P=2 verwendet. Ergebnis: Die Daten des ersten Mitglieds werden entsprechend der P-Parameter auf die Seiten 1 und 2 gedruckt. Beim zweiten Mitglied wird wieder bei Seite 1 begonnen. Die Daten werden entsprechend der P-Parameter auf die Seiten 1 und 2 gedruckt. Beim dritten Mitglied ist es ebenso. |
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=, //(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=, //(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: {{:de:plugins:formfiller:herr-frau.png?100}}
* 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 . ( =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)
**Dynamische Felder**
Bei dynamischen Feldern (z.B. Rollenmitgliedschaften) geben die X- und Y-Koordinaten die Position der ersten Zeile des Drucks an.
Alle weiteren Zeilen werden dynamisch (je nach Anzahl der Rollen bei einer Rollenmitgliedschaft) angefügt. Der Zeilenabstand in Millimeter kann durch den Parameter OW=x (z.B. OW=10) definiert werden. Die Standardeinstellung ist 5 mm.
Sollen nach einem dynamischen Feld weitere Felder (Profilfelder, Texte, weitere dynamische Felder) ausgedruckt werden, so muß der Parameter OI=x (z.B. OI=1) verwendet werden. Mit OI=x kann eine Reihenfolge der Zeilen festgelegt werden. Die X-/Y-Koordinaten des Feldes mit dem kleinsten OI-Wert (z.B. OI=1) legen hierbei den Startpunkt der gesamten Liste fest.
Beispiel:
|Text |20,120;.........;OI=1;.........OW=10 |
|Linie | ...................;OI=2;........;OW=8 |
|Rollenmitgliedschaften |..........;OI=3;.............;OW=7 |
|Nachname |.........................;OI=5;............... |
|Vorname |....................;OI=4;.................. |
Im obigen Beispiel beginnt der Druck an Position 20,120 mit einem Text. An Position 20,130 wird eine Linie gezeichnet. Die Auflistung der Rollenmitgliedschaften beginnt an Position 20,138. Jede Rolle wird mit einem Abstand von 7 mm unter der Vorherigen gedruckt. Nach allen Rollen wird zuerst der Vorname und zuletzt der Nachname gedruckt.
Eine Musterkonfiguration "Personalbogen.cfg" mit den Parametern OI und OW [[https://github.com/rmbinder/FormFiller/releases|ist hier auf GitHub unter Release 2.3.3 verfügbar]]).
//Hinweis://
Der Parameter OI=x kann nur bei Feldern mit absoluten Koordinatenangaben verwendet werden (z.B. Text an Pos X/Y oder Line von Pos X/Y nach Pos X2/Y2). OI=x funktioniert nicht bei Rechtecken oder Bildern, da bei ihnen X2 und Y2 relative Werte sind.
**Zeilenumbruch**
Speziell für lange Texte gibt es den Zeilenumbruch. Mit den Parametern WL, CL, WW und WM ist es möglich, einen Text in einzelne Segmente aufzusplitten und untereinander auszugeben.
* WL = Wortlänge
* CL = Zeichenlänge
* WW = Zeilenabstand (Standard: 5)
* WM = max. Anzahl der Zeilen (Standard: 1).
Beispiel 1:
⇒ ...;WL=15;WW=5;WM=3\\
⇒ Nach max. 15 Zeichen erfolgt ein Zeilenumbruch, wobei einzelne Wörter nicht getrennt werden. Der Zeilenabstand beträgt 5 mm und es werden maximal 3 Zeilen ausgegeben.\\
Neuhofen a.d. Krems\\
wird zu\\
Neuhofen a.d.\\
Krems\\
Beispiel 2:
⇒ ...;CL=15;WW=5;WM=3\\
⇒ Nach 15 Zeichen erfolgt ein Zeilenumbruch. Der Zeilenabstand beträgt 5 mm und es werden maximal 3 Zeilen ausgegeben.\\
Das ist ein Mustertext\\
wird zu\\
Das ist ein Mus\\
tertext\\
=== Menüpunkt Optionen ===
Über Optionen können Einstellungen für die Anzeige der erstellten PDF-Dokumente festgelegt und die Deinstallation durchgeführt werden.
{{:de:plugins:formfiller:optionen.png?300}}
== 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. 160x100;120x60).
== Export/Import ==
Über Export/Import können Konfigurationen sowohl exportiert als auch importiert werden
(Beispielkonfigurationen gibt es auf [[https://github.com/rmbinder/FormFiller/releases]]).
{{:de:plugins:formfiller:export_import.png?300}}
== Deinstallation ==
Über die Deinstallation können alle vom Plugin erstellten Konfigurationsdaten wieder gelöscht werden.
{{:de:plugins:formfiller:deinstallation.png?300}}
{{:de:plugins:formfiller:deinstallation-hinweis.png?300}}
=== Menüpunkt Plugininformationen ===
{{:de:plugins:formfiller:plugininformationen.png?300}}
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
* Geburtstagsliste
* FormFiller
* KeyManager
* DeclarationOfMembership (Online-Beitrittserklärung)
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: |
|{{:de:plugins:formfiller:beitrittserklaerung.png?400}}|{{:de:plugins:formfiller:beitrittserklaerung-ausgefuellt.png?400}}|
| Muster eines Mitgliedsausweises: | Der mit Daten befüllte Mitgliedsausweis: |
|{{:de:plugins:formfiller:mitgliedsausweis.png?300}}|{{:de:plugins:formfiller:mitgliedsausweis-ausgefuellt.png?300}}|
| Muster eines SEPA-Lastschriftmandats: | Das mit Daten befüllte SEPA-Lastschriftmandat: |
|{{:de:plugins:formfiller:sepa-lastschriftmandat.png?400}}|{{:de:plugins:formfiller:sepa-lastschriftmandat-ausgefuellt.png?400}}|