====== FormFiller ======
==== Description ====
This plugin makes it possible to fill PDF forms with profile data and profile pictures of members, as well as any text and pictures.
The creation of labels is also possible. A separate configuration is created for each PDF form or label template used.
The PDF forms can be different types of PDF files, e.g. declarations of membership, SEPA direct debit mandates, invitations, serial letters or membership cards.
==== 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)**
Older versions:\\
[[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]] - (since Admidio 2.4.4)
==== Information ====
Supported by: **[[http://forum.admidio.org/memberlist.php?mode=viewprofile&u=1506|rmb]] **\\
Plugin-Version: **3.3.1**\\
Required Admidio-Version: **4.3**\\
Supported databases: **MySQL**\\
Supported languages: **German, English, French**
License: **GPL 2**
==== Screenshots ====
{{:de:plugins:formfiller:formfiller_01.png?300|}}
{{:de:plugins:formfiller:formfiller_02.png?300|}}
==== Installation ====
* In the adm_plugins folder, create a new folder called formfiller
* After that, copy all files (and folders) of the formfiller folder from the unzipped zip file to this folder.
* Then use the Admidio module menu to create a menu item for FormFiller with the following URL: /adm_plugins/formfiller/formfiller.php (When creating this menu item, it is strongly recommended to specify a role in the "Visible for" field).
==== Update ====
* First delete all files in the FormFiller plugin directory.
* Then copy all files (and folders) of the formfiller folder from the unzipped zip file to the plugin directory.
==== History ====
//3.3.1 (01.06.2024)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.3.1|All changes of this version on GitHub]]
//3.3.0 (16.01.2024)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.3.0|All changes of this version on GitHub]]
//3.2.0 (18.02.2023)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.2.0|All changes of this version on GitHub]]
//3.1.0 (05.01.2022)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.1.0|All changes of this version on GitHub]]
//3.0.3 (23.08.2021)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.3|All changes of this version on GitHub]]
//3.0.2 (20.03.2021)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.2|All changes of this version on GitHub]]
//3.0.1 (11.01.2021)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.1|All changes of this version on GitHub]]
//3.0.0 (12.12.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av3.0.0|All changes of this version on GitHub]]
//2.3.7 (06.03.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.7|All changes of this version on GitHub]]
//2.3.6 (10.01.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.6|All changes of this version on GitHub]]
//2.3.5 (04.01.2020)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.5|All changes of this version on GitHub]]
//2.3.4 (04.02.2019)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.4|All changes of this version on GitHub]]
//2.3.3 (04.02.2019)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.3|All changes of this version on GitHub]]
//2.3.2 (30.10.2018)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.2|All changes of this version on GitHub]]
//2.3.1 (22.04.2018)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.1|All changes of this version on GitHub]]
//2.3.0 (16.04.2018)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.3.0|All changes of this version on GitHub]]
//2.2.2 (25.11.2017)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.2.2|All changes of this version on GitHub]]
//2.2.1 (03.05.2017)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.2.1|All changes of this version on GitHub]]
//2.2.0 (19.12.2016)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.2.0|All changes of this version on GitHub]]
//2.1.2 (13.09.2016)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.1.2|All changes of this version on GitHub]]
//2.1.1 (09.06.2016)//
* [[https://github.com/rmbinder/FormFiller/issues?q=milestone%3Av2.1.1|All changes of this version on GitHub]]
[[https://www.admidio.org/dokuwiki/doku.php?id=de:plugins:formfiller#aenderungshistorie|For changes before version 2.1.1 please look at the german page]]
==== Operation ====
Form Filler can either create single documents (with the profile data of an individual member) and also multiple document (with the profile data of several members). A distinction is made between form printing (solid XY coordinates) and label printing (relative XY coordinates).
=== Definition "single document" ===
If via the user administration the profile of a member is called, all created configurations are displayed in list form below the menu item Form Filler. When clicking on a configuration formfiller reads the browser address line, extracts the user_id of the member and produces the data by this member a single PDF document.
{{:de:plugins:formfiller:link-in-menue-plugins-mit-konfigurationen.png?200}}
In the above example, three configurations are displayed (standard form, envelope DL and address labels). These are also the sample configurations created in a new installation.
=== Definition "multiple document" ===
Even the creation of multiple documents is possible with formfiller. Multiple Document means that the data of several members can be used for filling a PDF document. You can create in a simple manner form letters or address labels.
The menu item form filler module for multiple documents is called.
{{:de:plugins:formfiller:standardansicht.png?400}}
Click on the button "Generate PDF file" a multi-document with information of members that have been filtered based on list configuration and role will be generated. // (Note:. Evaluated in the list configuration are only conditions that are given to fields. Fields without condition is not important for this query.)//
If "ListConfiguration" or "Role" is not assigned, the following error message appears:
{{:de:plugins:formfiller:standardansicht-fehlende-listenkonfiguration.png?300}}
{{:de:plugins:formfiller:standardansicht-fehlende-rolle.png?300}}
=== Definition "Print form" ===
Form pressure within the meaning of Form Filler means that the filling in a PDF form is performed using fixed XY coordinate. The details for X and Y define here the horizontal and vertical position in millimeters relative to the upper left corner of the PDF form.
Example:\\
{{:de:plugins:formfiller:beispiel-xy-position.png?400}}
In the above example, the first name of the member is 60 millimeters and 80 millimeters to the right down, counted from the upper left corner of the form is written. The last name is 100 millimeters to the right and 80 mm downwards, also counted from the upper left corner of the form is written.
⇒ Surname and first name are in the same row (80 mm)\\
⇒ First name (at 60mm) stands in front of Surname (bei 100mm)
Further information on this topic can be found in "Configurations" section in this document.
=== Definition "label printing" ===
Label printing within the meaning of Form Filler means the smallest X coordinate of a line defines the start of printing. All other X-coordinate of a line used exclusively for sorting.
Example:\\
{{:de:plugins:formfiller:beispiel-umschlag-dl.png?400}}
With form printing, the printed image would appear as follows: (always relative to the upper left corner of the form)
* Gender (Informal) to position 20,30 (20 millimeters to the right and 30 mm downwards)
* First name at item 25,30 (25 millimeters to the right and 30 mm downwards)
* Surname at position 26,30 (26 millimeters to the right and 30 mm downwards)
⇒ The last name here would begin a millimeter to the right of first name and this would almost completely overwrite it.
However, if label printing is set, the printed image is as follows:
* Gender first name last name // (each separated by a space)//
⇒ Smallest X coordinate in the example is 20, that is, gender (= Heading) determines the start of printing at position 20,30 (20 millimeters to the right and 30 mm downward, relative to the upper left corner of the form). First name and surname are, separately, added by a space.
Further information on this topic can be found in "Configurations" section in this document.
=== Menu settings ===
The menu **settings** is selected via the Settings link, top right of the default view. It is divided into four menu items.
* Configuration
* Options
* Plugin enable
* Plugin information
{{:de:plugins:formfiller:standardansicht-einstellungen.png?300}}
{{:de:plugins:formfiller:menue-einstellungen.png?300}}
=== Menu configurations ===
Concerning configurations any number of PDF forms or label templates can be created. After a new installation three sample configurations are preset and filled with default values:
* Sample Form
* Envelope DL
* mailing labels
{{:de:plugins:formfiller:beispielkonfiguration-musterformular.png?300}}
{{:de:plugins:formfiller:beispielkonfiguration-umschlag-dl.png?300}}
{{:de:plugins:formfiller:beispielkonfiguration-adressetiketten.png?300}}
== Designation ==
The designation field is a mandatory field and to be filled ever. When displaying or editing the profile of a member this designation appears as a link. You can delete a configuration by deleting the contents of the field name, and then press the Save button.
== Font, font style, font size and color ==
The font attributes set here (type, style, size and color) apply to all profile fields the same configuration.
{{:de:plugins:formfiller:wahlmoeglichkeit-schriftart.png?200}}
{{:de:plugins:formfiller:wahlmoeglichkeit-schriftstil.png?200}}
{{:de:plugins:formfiller:wahlmoeglichkeit-schriftfarbe.png?200}}
== PDF-File ==
Concerning PDF file, a PDF form is selected and assigned to this configuration.
{{:de:plugins:formfiller:wahlmoeglichkeit-pdf-datei.png?200}}
To enable Form Filler can access PDF forms, they must be uploaded beforehand in the Downloads section Admidio //(Hinweis: Die Auswahl für eine PDF-Datei wird erst am Bildschirm angezeigt, wenn mindestens eine Datei in den Downloads-Bereich hochgeladen wurde)//. Wird für eine Konfiguration kein PDF-Formular ausgewählt, so erzeugt FormFiller selbständig ein leeres Dokument im Format A4, hoch und der Einheit Millimeter.
== Labels ==
To print labels the following information in the labels box are required: the number of columns, column spacing, number of lines, line spacing.
Example:\\
{{:de:plugins:formfiller:etikettendaten.png?500}}\\
Here the label printing would look like this:
* 3 Labels across (3 colums), at a distance of 70 mm (column spacing)
* 7 Labels across (7 lines), at a distance of 25 mm (line spacing)
If the labels field is filled, the XY position information of formfiller will be interpreted in another way: First formfiller sorts all profile fields using the position data after line (Y-coordinate) and column (X-coordinate). Then the smallest X coordinate of a line is determined. This smallest X coordinate defines the start of printing. All other X-coordinate on the same line used exclusively for sorting.
Example:\\
{{:de:plugins:formfiller:beispiel-umschlag-dl.png?400}}
Smallest X-coordinate for the row 30 in the above example is 20, that is print start of the line 30 is at position 20,30.
The profile fields are printed as follows:\\
Informal first name last name
Note: To write a single address label in a PDF document (for example, mail merge with invitations, with each individual invitation to have the address of the member) the following values are to be entered in the Labels box: 1,0,1,0.
== Field selection ==
Concerning Field selection any number of profile fields can be added to a configuration.\\
{{:de:plugins:formfiller:wahlmoeglichkeit-feldwahl.png?300}}
To write the data of a profile image in a PDF document at least one X and one Y coordinate have to be specified. The details for X and Y define here the horizontal and vertical position in millimeters, based on the upper left corner of a form.
{{:de:plugins:formfiller:beispiel-xy-position.png?300}}
To highlight individual profile fields, further instructions can also be specified in addition to the X and Y coordinate. Several additional instructions here are separated by semicolons.
Syntax:\\
|Font: |F= |z.B. F=Arial |
|Font style: |A=B or I or U |z.B. A=B //(B for bold, I for itallic, U for underline, Multiple combinations are possible: A=BU corresponds to bold + underline)// |
|Font size: |S= |z.B. S=20 |
|Font color: |C= |z.B. C=0,0,255 |
|Gender: |T=, |z.B. T=Mr.,Mrs. |
Example:\\
| **Profile Filed** | **Position and additional instructions** | **Signification** |
|Surname |10,20 |Surname at position 10,20 |
|Firstname |10,40;S=7;F=Arial |Firstname at position 10,40 with Font style Arial 7pt |
|Address |40,20;C=255,102,255;A=BU |Address at positon 40,20 with colir pink, underlined and bold |
|Gender |40,20,60,20;T=Mr.,Mrs. |depends on the gender, is written the text "Lord" at position 40,20 or the text "Woman" at position 60,20 is written |
//Special profile box Gender//
To identify the gender of a member in forms or to change the text "Mr" or "Mrs" to write on labels, there is a different syntax for the profile box Gender.
Syntax:\\
X1,Y1,X2,Y2; T=, //(The "Text for male" is hereby issued to position X1, Y1, the "Text for female" at position X2, Y2.)//
or
X,Y; T=, //(Both the "Text for male", and the "Text for female" are output at position X, Y.)//
Example:
1. Case:\\
In one form the following fields are available: {{:de:plugins:formfiller:herr-frau.png?100}}
* the rectangle of Male is located at coordinates 60,50
* the rectangle of female located on coordinate 80,50
Depending on the gender to be male or female marked with an X.
Syntax:\\
60,50,80,50;T=X,X
Result:\\
If the member is male, so an X is written at position 60,50, the member is female, an X is written at position 80.50
2. Case:\\
For labels should, regardless of gender, the text "Mr." or "Mrs." be written at position 70,40.
Syntax:\\
70,40,70,40;T=Mr,Mrs //(In this case also, shorthand would be possible: 70,40;T=Mr,Mrs)//
Result:\\
If the member is male, so the text Lord at position 70,40 is written, the member is female, so women will be written at the same position of the text.
//The additional fields Date, profile photo and text//
In addition to the profile fields the current date, the profile picture of the member can be displayed (if any) as well as any text can be inserted into the PDF document.
Syntax:\\
| **Field** | **Position and additional instructions** | **Signification** |
|Date |10,20 |Current date at position 10,20 |
|Date |10,40;D=d. F Y |Current date in format . ( = from function date() ) at position 10,40 |
|Date |17,20;F=Arial;S=12 |Current date at position 17,20 in Arial 12 pt |
|Profile photo |40,20 |The profile photo of the member (if any) will be added at position 40,20 with 72 dpi. |
|Profile photo |40,20,30 |The profile photo of the member is inserted at position 40,20 having a width of 30 mm, while maintaining the aspect ratio. |
|Profile photo |40,20,0,50 |The profile photo of the member is inserted at position 40,20 with a height of 50 mm, while maintaining the aspect ratio. |
|Profile photo |40,20,30,50;L=image.jpg |The photo image.jpg from the Downloads section Admidio, when available, inserted in position 40,20 having a width of 30 mm and a height of 50 mm. |
|Text |10,20;V=Note |The text message is inserted at position 10,20 |
Supported image formats:
* JPEG (Joint Photographic Experts Group)
* PNG (Portable Network Graphics)
* GIF (Graphics Interchange Format)
=== Menu Options ===
Concerning Options preferences for displaying the created PDF documents can be set and uninstallation can be performed.
{{:de:plugins:formfiller:optionen.png?300}}
== max. PDF-Display ==
PDF display is the maximum number of pages that must have a PDF document (creation of multiple documents) so that it appears on the screen yet. Is the number of pages is greater, the download of the file is available immediately.
== Uninstall ==
Concerning uninstall all created configuration files can be deleted.
{{:de:plugins:formfiller:deinstallation.png?300}}
{{:de:plugins:formfiller:deinstallation-hinweis.png?300}}
=== Menu Enable Plugin ===
Selection of roles, their families may call the plugin. The plugin and the settings menu can be unlocked separately for specific roles.
{{:de:plugins:formfiller:pluginfreigabe.png?300}}
Note: A selected role also requires at least one of the following permissions in the Admidio Rle Management :
* "Manage and assign roles"
* "Edit profile data of all users"
* "Manage and organize registrations"
=== Menu Plugin information ===
{{:de:plugins:formfiller:plugininformationen.png?300}}
Here information about the version and the state of the plugin will be displayed.
=== Storing the Configurations ===
All configuration data is stored in a table named adm_plugin_preferences in Admidio database. Should not exist this table, it is created.
Currently, in this table, the following configurations plugins are stored:
* Membership fee
* Birthday list
* Form Filler
The table entries of plugins Form Filler all begin here with the letters "PFF".
=== File readme.txt ===
Current information regarding update or reinstall the plugin are located in the file readme.txt.
=== Examples ===
Below are some examples of filled formfiller PDF forms:
| Pattern of an instrument of accession: | The data filled application form: |
|{{:de:plugins:formfiller:beitrittserklaerung.png?400}}|{{:de:plugins:formfiller:beitrittserklaerung-ausgefuellt.png?400}}|
| Pattern of a membership card: | The data filled membership card: |
|{{:de:plugins:formfiller:mitgliedsausweis.png?300}}|{{:de:plugins:formfiller:mitgliedsausweis-ausgefuellt.png?300}}|
| Pattern of a SEPA Direct Debit Mandate: | The data filled SEPA direct debit mandate: |
|{{:de:plugins:formfiller:sepa-lastschriftmandat.png?400}}|{{:de:plugins:formfiller:sepa-lastschriftmandat-ausgefuellt.png?400}}|