QR vCard
Um eine vCard im printformer Editor zu generieren wird ein PFBarcode-Block mittels Textrahmen erstellt (und ggf. Settings hinzugefügt):
Um die vCard später korrekt auslesen zu können muss der Inhalt des Textrahmens nach folgendem Schema aufgebaut sein (die Interpunktion darf nicht verändert werden):
BEGIN:VCARD
VERSION:2.1
N;CHARSET=utf-8:Müsterman;Jean-Luc;;Mr.
FN;CHARSET=utf-8:Jean-Luc Müsterman
ORG;CHARSET=utf-8:Bäckerei Müsterman
TITLE;CHARSET=utf-8:Bäcker
TEL;WORK;VOICE:+49 (404) 555-1212
TEL;WORK;FAX:+49 (404) 555-1213
ADR;WORK;CHARSET=utf-8:;;Backstraße 11;Bäckerich;;12345;Deutschland
EMAIL;WORK:jl.muesterman@baeckerei-muesterman.de
END:VCARD
Damit die Umlaute (sowohl auf Android- als auch Apple-Geräten) funktionieren wurde in allen Zeilen, die Umlaute enthalten könnten, ;CHARSET=UTF-8
eingefügt. (Die Zuordnung unterschiedlicher Telefonnummern bspw. zuhause, geschäftlich, erfolgt mittels TYPE=
)
Bei Geräten von Xiaomi kann es zu Problemen mit dem korrekten Auslesen (Umlaute und Sonderzeichen) kommen. Um dies zu umgehen kann eine Validierung eingefügt werden, die Umlaute und Sonderzeichen verbietet.
Im Textrahmen wird nun also der obere Content eingefügt. Ggf. nicht benötigte Zeilen (bspw. Fax) können gelöscht werden. (Die Farbe des QR-Codes wird mittels Kontur- und Flächenfarbe des Textrahmens definiert.)
Die Adress-Inhalte, die später vom User im Editor eingegeben (oder per API/CSV befüllt) werden sollen, werden als Placeholder getaggt und in der Struktur mit den gewünschten data-keys versehen:
Ergebnis im Editor:
Beispiel-Datei:
beispiel_Visitenkarte_vcard_2-1.idml
Eine Textblock-Vorlage befindet sich auch in der PF-Library (vCard).
Validierung um Umlaute zu vermeiden
Damit die Eingabe von Sonderzeichen oder Umlauten validiert werden kann, muss für die entsprechenden DataKeys jeweils ein Template DataKey im printformer angelegt werden.
Unter Validierung wird dann ein Regex, das die unerwünschten Zeichen enthält eingefügt:
^[^üÜäÄöÖß]+$