pdfMachine Seriendruckfelder

Ein Seriendruckfeld ist ein Platzhalter, der während des Zusammenführens durch den Inhalt der entsprechenden Zelle aus der Datenquelle ersetzt wird. Ein Seriendruckfeld wird durch doppelte geschweifte Klammern mit dem Spaltennamen aus der Datenquelle angegeben. Sie können auch Formatierungsanweisungen enthalten (hier lesen).

{{age}}

Spaltennamen, die Leerzeichen enthalten, müssen in den Seriendruckfeldern durch Unterstriche ersetzt werden:

{{first_name}}

Verwendung von Seriendruckfeldern.

Seriendruckfelder in pdfMachine merge können für die meisten Ausgaben von pdfMachine merge verwendet und formatiert werden.

  • Inhalte dynamisch generierter PDFs aus Word-, Excel-, PowerPoint- oder HTML-Vorlagen
  • E-Mail-Empfänger (An, CC und BCC)
  • E-Mail-Betreff
  • E-Mail-Text
  • Anlagenname
  • Stempel
  • Passwörter
  • Pfad/Name zu statischen Anhängen
  • Inhalte von HTML-Briefpapier
  • Bedingungen für das Anhängen einer PDF

Sie können kein Seriendruckfeld verwenden, um den Pfad zur Datenquelle oder zu Word-, Excel-, PowerPoint- oder HTML-Vorlagen anzugeben. Wenn Sie eine andere Vorlage basierend auf dem Inhalt eines Seriendruckfelds verwenden möchten, lesen Sie den Abschnitt über bedingte Anhänge.

Seriendruckfelder formatieren

Regeln

  • Die Formatierung wird im pdfMachine merge-Profil oder in der Vorlage angegeben. Die Formatierung wird nicht aus der Excel- oder CSV-Datenquelle übernommen.
  • Wenn Sie pdfMachine merge zum Konvertieren eines Word-Serienbriefsdokuments verwenden, werden die Word-Serienbrief- Formatierungsregeln nicht beibehalten. Nach der Konvertierung der Vorlage werden alle Word-Seriendruckfelder aus der Vorlage entfernt. Jede Formatierung muss mit pdfMachine merge-Filtern angewendet werden.
  • Text, der Seriendruckfelder in einer Vorlage ersetzt, übernimmt die Formatierung des Seriendruckfeldtexts in der Vorlage (z.B. Fett, Schriftart). Die Rechts-nach-Links-Formatierung sollte in der Word-Vorlage auf Seriendruckfelder angewendet werden, die Rechts-nach-Links-Text enthalten (z.B. arabischen Text). Die Formatierung muss auf das gesamte Seriendruckfeld einschließlich der doppelten geschweifte Klammern angewendet werden.
  • Filter können mit Seriendruckfeldern verwendet werden, um den endgültigen Text zu formatieren. Um einen Filter zu verwenden, setzen Sie das Pipe-Symbol (|) nach dem Namen des Seriendruckfelds und dann den Filternamen. Um beispielsweise den Datumsfilter auf das Seriendruckfeld birth_date anzuwenden, verwenden Sie: {{ birth_date | date:"d MMM yyyy"}}
  • pdfMachine merge verwendet liquid-Filter und -Tags. Die Standardfilter und -Tags werden unterstützt, wie in Liquid For Designers und DotLiquid For Designers beschrieben. Liquid ermöglicht die Anwendung von Formatierungen, die Ausführung von Schleifen und Bedingungen usw. basierend auf den Werten aus Ihrer Datenquelle. Häufig verwendete Filter sind auf dieser Seite dokumentiert. Zusätzliche Filter, die spezifisch für pdfMachine merge sind, sind auf dieser Seite dokumentiert. Bedingungen und Schleifen sind hier dokumentiert

Liquid-Filter

pdfMachine merge unterstützt die vollständige liquid-Vorlagensprache in HTML-Vorlagen und im E-Mail-Text und hat auch teilweise Unterstützung für liquid (nur Filter) in Microsoft Word/Excel/PowerPoint-Dokumentvorlagen. pdfMachine merge hat auch einige benutzerdefinierte Filter und Tags (nicht Teil der liquid-Spezifikation) für Datumsangaben, Zahlen, Währungen, URI-Komponenten- kodierung, Bilder, Barcodes, sich wiederholende Zeilen in Microsoft Word und Zeilenumbruch-Behandlung in Microsoft Word. Diese werden in den folgenden Beispielen beschrieben

Hinweis: Um liquid-Tags im E-Mail-Text zu verwenden, muss der E-Mail-Text-Editor immer im "Quelltext"-Modus sein. Der "wysiwig"-Modus bewahrt die liquid-Tags nicht.

liquid-Filter sind einfache Methoden, die die Ausgabe von Zahlen, Zeichenfolgen, Variablen und Objekten ändern. Sie werden innerhalb eines Ausgabe-Tags {{ }} platziert und durch ein Pipe-Zeichen | gekennzeichnet. z.B.

Der capitalize-Filter bewirkt, dass der Inhalt der "name"-Zelle aus der Datenquelle großgeschrieben wird.

Eingabe:
{{ name | capitalize }}

Ausgabe:
John Smith

Häufig verwendete Filter sind auf dieser Seite dokumentiert. liquid-Filter finden Sie in der liquid-Dokumentation


Beispiele finden Sie auch im Profil "Test Profile - Word Template with formatting examples" das mit pdfMachine merge installiert wird.

Textformatierung

Seriendruckfelder übernehmen die Formatierung, die auf sie in der Vorlage angewendet wird. Wenn Sie beispielsweise ein Seriendruckfeld in Kursivschrift anzeigen möchten, können Sie die gesamte Seriendruckanweisung (einschließlich der umgebenden geschweifte Klammern) in Kursivschrift setzen.

{{AccountNo}} erscheint als A00001

Der liquid-Filter "capitalize" kann verwendet werden, um sicherzustellen, dass Wörter (z.B. Namen) groß geschrieben werden, unabhängig davon, wie sie in der Datenquelle erscheinen

{{ name | capitalize }} erscheint als John, auch wenn die Datenquelle john enthält.

Beispiele für formatierte Textseriendruckfelder finden Sie auch im Profil "Test Profile - Word Template with formatting examples", das mit pdfMachine merge installiert wird.

So verwenden Sie Datumsangaben in Seriendruckfeldern

Beispiele für formatierte Datumsangaben finden Sie auch im Profil "Test Profile - Word Template with formatting examples", das mit pdfMachine merge installiert wird.

Der liquid-Filter "date" kann zum Formatieren von Datumsangaben in pdfMachine merge-Feldern verwendet werden.

Datum und Uhrzeit formatieren

Die .NET-Formatierungszeichenfolgen für Datumsformatierungen werden von pdfMachine merge verwendet. Details dazu finden Sie hier.

Häufig verwendete Datumsformate sind:

Eingabe Ausgabe
{{ invoice_date | date:"d MMM yyyy"}} 1 Jun 2015
{{ invoice_date | date: "dd MMMM yyyy"}} 01 June 2015
{{ invoice_date | date: "MM/dd/yy"}} 06/01/15
Trennzeichen ist kulturunabhängig, escaped durch einfaches Anführungszeichen: {{ invoice_date | date: "MM'-'dd'-'yy"}} 06-01-15
{{ start_time | date: "h:mmtt"}} 9:00AM

Aktuelles Datum und Uhrzeit

Zusätzlich zu den liquid-Filtern für Datumsangaben hat pdfMachine merge auch ein spezielles Seriendruckfeld namens datetimenow.
Ein Seriendruckfeld {{ datetimenow }} benötigt keine Spalte in der Datenquelle, stattdessen wird automatisch das aktuelle Datum und die aktuelle Uhrzeit eingefügt.

Tage addieren oder subtrahieren

Ein Filter dateplusdays ist verfügbar. Er zeigt eine Anzahl von Tagen vor oder nach dem angegebenen Datum an.

Zum Beispiel nimmt {{ datetimenow | dateplusdays : 30 }} die aktuelle Zeit, addiert 30 Tage und gibt dann das Datum aus.

Eingabe Ausgabe

{{ datetimenow | date : "d MMM yyyy"}}

8 Nov 2018

{{invoice_date | dateplusdays : 30| date : "d MMM yyyy"}}

8 Nov 2018

Mehrere Filter auf ein Seriendruckfeld anwenden

Sie können mehr als einen Filter auf ein Seriendruckfeld anwenden, indem Sie das Pipe-Symbol | verwenden.

Wenn Sie beispielsweise das aktuelle Datum und die Uhrzeit abrufen und dann formatieren möchten, können Sie zwei Filter verwenden. Das aktuelle Datum und die Uhrzeit werden zunächst gefiltert, um 30 Tage hinzuzufügen, dann gefiltert, um die Ausgabe zu formatieren.

{{ datetimenow | dateplusdays : 30| date : "d MMM yyyy"}}

23 Jun 2015

So formatieren Sie Währungsseriendruckfelder

Beispiele für formatierte Währungsfelder finden Sie auch im Profil "Test Profile - Word Template with formatting examples", das mit pdfMachine merge installiert wird.

Um ein numerisches Seriendruckfeld namens "amount" als Währung zu formatieren, können Sie den "money"-Filter verwenden:

             {{ amount | money }}

             $25.00

Oder Sie können den Filter "money_no_cents" verwenden:

             {{ amount | money_no_cents }}

             $25

Oder Sie können den Betrag für eine bestimmte Währung formatieren und dabei aus einer Kultur auswählen, die hier aufgeführt ist – die Zahl nach dem Buchstaben C gibt die Anzahl der angezeigten Dezimalstellen an:

             {{ amt | number_culture : "C2","ja-JP" }}

            Â¥25.00

             {{ amt | number_culture : "C0","en-US" }}

            $25

So formatieren Sie eine Zahl als Wörter

z.B. wenn amount gleich 10.20 ist
{{ amount | money_as_words }}

ten dollars and twenty cents

So formatieren Sie numerische Seriendruckfelder

Um ein numerisches Seriendruckfeld zu formatieren, können Sie den Filter "number" verwenden, der eine Zahl gemäß der csharp-Zahlenformatierung formatiert, sowohl Standardformate als auch benutzerdefinierte Formate. Sie können auch den Filter "number_culture" verwenden, um eine Zahl gemäß einer Kultur zu formatieren, die hier aufgeführt ist.

Um positive Zahlen, negative Zahlen und Null unterschiedlich zu formatieren, können Sie bedingte Formatierung verwenden. Sie können bis zu drei verschiedene Abschnitte Ihrer Formatierungszeichenfolge gleichzeitig angeben, getrennt durch Semikolons. Wenn Sie zwei Formatierungszeichenfolgen-Abschnitte angeben, wird der erste für positive und Nullwerte verwendet, während der zweite für negative Werte verwendet wird; wenn Sie drei Abschnitte verwenden, wird der erste für positive Werte, der zweite für negative Werte und der dritte für Nullwerte verwendet.

Häufig verwendete Zahlenformate sind:

Eingabe Ausgabe
{{ num | number :"N2"}} 1,152.00
{{ num | number :"N0"}} 1,152
{{ num | number_culture : "C0", "es-ES"}} 1 152,00
{{ num | | number_culture : "N0", "es-MX"}} 1 152
{{ num | number :"P0"}} 52%
{{ num | number :"P2"}} 52.00%
{{ num | number:"#0.00;(#0.00)"}} 52.00 für positive Werte, (52.00) für negative Werte

Beispiele für formatierte Zahlenfelder finden Sie auch im Profil "Test Profile - Word Template with formatting examples", das mit pdfMachine merge installiert wird.

Behandlung leerer Seriendruckfelder in einer Microsoft Word-Vorlage

Text voranstellen

Verwenden Sie den Filter 'prepend_if', um Text vor dem Seriendruckfeld einzufügen, wenn das Seriendruckfeld nicht leer ist.

Eingabe Mögliche Ausgaben

{{item1}}{{item2 | prepend_if: ", "}}{{item3 | prepend_if: ", "}}

oranges
oranges, apples
oranges, apples, bananas

Leerzeilen verhindern

Word-Vorlagen geben jeden Zeichen, der sich nicht in einem Seriendruckfeld befindet, "so wie er ist" aus. Manchmal führt dies zu zusätzlichen Leerzeilen. Wenn Sie ein Seriendruckfeld haben, dem ein Zeilenumbruch oder ein Absatzzeichen folgt, möchten Sie diesen Zeilenumbruch möglicherweise nur dann haben, wenn etwas im Seriendruckfeld ist.

Der Adressblock ist ein gutes Beispiel dafür. Der Inhalt der Zeilen in einem Adressblock ist manchmal leer, z.B. für eine Einheitenaddresse oder einen Gebäudenamen. Es ist vorzuziehen, keine Leerzeile zu haben.

Im folgenden Beispiel sollten die Seriendruckfelder für den Adressblock jeweils eine Zeile einnehmen. Einige Seriendruckfelder sind leer, z.B. address_1. Ein Zeilenumbruch ist nur erforderlich, wenn das Seriendruckfeld vorhanden ist.

Vollständige Adresse Adressen mit einem leeren "address_1"

Joe Smith
Unit 1
5 Railway Ave
Georgeton, ZA 59680
USA

Joe Smith

5 Railway Ave
Georgeton, ZA 59680
USA

Joe Smith
5 Railway Ave
Georgeton, ZA 59680
USA

Um die Leerzeile zu verhindern, verwenden Sie den WordNewLine-Filter anstelle von Word-Zeilenumbrüchen.

Eingabe Ausgabe

{{Salutation}} {{first name}} {{last_name}}
{{address_1|WordNewLine}}{{address_2|WordNewLine}}{{city}} {{state}} {{postcode}}{{State}} {{postcode}}
{{country}}

Mr Joe Smith
5 Railway St
Mentone
VIC 3965
Australia

Beispiele für die Verwendung des WordNewLine-Filters finden Sie auch im Profil "Test Profile - Word Template with formatting examples", das mit pdfMachine merge installiert wird.

So fügen Sie Seitenzahlen in eine HTML-Vorlage ein

$page und $maxpage sind spezielle Variablen, die mit HTML-Vorlagen verwendet werden. Sie werden in die "aktuelle Seite" und die "maximale Anzahl der Seiten" im PDF-Dokument umgewandelt. Zum Beispiel könnten Sie eine HTML-Briefpapierdatei mit dem Text "$page of $maxpage" erstellen.

Eingabe Ausgabe

             Page $page of $maxpage

Page 2 of 5

So codieren Sie Sonderzeichen als URI-Komponente

Wenn Sie ein Seriendruckfeld in einer URL verwenden, müssen Sie möglicherweise den Filter "uri_encode" verwenden, um die vom Benutzer eingegebenen Komponenten zu codieren, damit sie vom Server nicht falsch interpretiert werden.

Wenn Sie beispielsweise eine URL wie https://broadgun.com/test?names={{names|uri_encode}} mit einem Seriendruckfeld "names" von "Jack & Jill" verwenden, müssen Sie die uri_encode-Komponente verwenden, um das Seriendruckfeld zu codieren und damit es vom Server korrekt interpretiert wird.

So fügen Sie dynamisch ein Bild in eine Word-Vorlage ein

Der insert_image-Filter ermöglicht es Ihnen, ein bestimmtes Bild – definiert durch ein Seriendruckfeld – in eine Word-Vorlage einzufügen. Dies führt zu einem personalisierten Bild in jedem Anhang. Sie müssen die Breite des Bildes in Punkten angeben. Die Höhe wird entsprechend skaliert. Dieser Filter sollte nur in Word-Vorlagen verwendet werden.

Das Bild kann aus einer Datei oder einer URL abgerufen werden. Sie können den gesamten Pfad im Seriendruckfeld oder nur einen Teil des Pfades mit dem prepend-Filter verwenden.

Sie können diesen Filter verwenden, um generierte Barcodes aus Ihrem bevorzugten Barcode-Generator einzufügen. Wenn Sie jedoch den Broadgun Software Barcode-Server verwenden möchten, ist der Barcode-Filter einfacher.

 Ein kurzes Video-Tutorial ist verfügbar. Beachten Sie, dass die Quelle des Bildes ein Pfad in der Datenquelle ist. Es hätte genauso gut ein Teil des Pfades in der Datenquelle oder eine URL sein können. Hier ansehen.

Eingabe: {{imagePath|insert_image: 144}}
Ausgabe:

Eingabe: {{imageFile | prepend: "c:\images\" |insert_image: 144}}
Ausgabe:

Eingabe: {{imagepath | insert_image: 144, imagelink}}
Ausgabe:

Eingabe: {{ webaddress | uri_encode | prepend: "https://broadgun.com/barcode/?bcid=qrcode&text=" | insert_image: 50 }}
Ausgabe:



So fügen Sie dynamisch einen Barcode in eine Word-Vorlage ein

Der Barcode-Filter ermöglicht es Ihnen, einen personalisierten Barcode – definiert durch ein Seriendruckfeld – in eine Word-Vorlage einzufügen. Dies führt zu einem personalisierten Barcode in jedem Anhang. Sie müssen zuerst den Typ des Barcodes und dann die Breite des Bildes in Punkten angeben. Sie können optional die Höhe des Bildes in Punkten angeben. Wenn nicht angegeben, ist die Höhe standardmäßig gleich der Breite.

Wenn der Inhalt des Seriendruckfelds eine URL ist, wird diese URL ein Hyperlink auf dem Bild im PDF sein. Sie können auch (optional) eine URL als zusätzlichen Parameter angeben. In diesem Fall müssen Sie zunächst die Breiten- und Höhenparameter angeben. Wenn Sie eine URL als Parameter angeben, erhält Ihr Barcode den Inhalt des Seriendruckfelds als Text beim Scannen des Barcodes, aber wenn der Barcode angeklickt wird, navigiert er zur angegebenen URL. Beispielsweise haben Sie möglicherweise einen Barcode mit der Seriennummer als Text und der URL zum Shop als Hyperlink.

Der Inhalt des Seriendruckfelds ist der Text, der zur Generierung des Barcodes verwendet wird. Dieser Filter sollte nur in Word-Vorlagen verwendet werden.

Der Barcode-Filter generiert den Barcode vom Broadgun Software Barcode-Server. Sie können den insert_image-Filter verwenden, um Barcodes von einem alternativen Barcode-Server zu generieren. Der Barcode-Filter verwendet den insert_image-Filter mit der Broadgun Software Barcode-Server-URL (wie im Beispiel unten gezeigt).

 Ein kurzes Video-Tutorial ist verfügbar. Hier ansehen.

Eingabe: {{webaddress |barcode: "qrcode", 50 }}
Ausgabe:

Eingabe: {{item_number |barcode: "code128", 200, 50 }}
Ausgabe:

Eingabe: {{item_number |barcode: "ean13", 106, 79, webaddress }}
Ausgabe:

So senden Sie PDFs zur Unterschriftenerfassung per E-Mail mit pdfMachine sign here und dem "sign_here"-Filter.

  • Platzieren Sie den sign_here-Filter in einem Vorlagendokument. z.B. {{ name | sign_here }}
    Dies führt dazu, dass ein Unterschriftenerfassungsfeld an dieser Position im Dokument eingefügt wird, wobei "name" das Seriendruckfeld ist, das den Namen oder die Rolle der Person enthält, die das Dokument unterzeichnen soll.
  • Der sign_here-Filter löst das Hochladen der generierten PDF auf die pdfMachine sign here-Website aus.
  • Die hochgeladene PDF wird verschlüsselt und auf der pdfMachine sign here-Website gespeichert, mit einem Unterschriftenerfassungsfeld.
  • Ein Link zum hochgeladenen Dokument wird mithilfe des benutzerdefinierten liquid-Tags {% sign_here_list %} in den E-Mail-Text eingefügt.
  • Wenn ein E-Mail-Empfänger auf den Link im E-Mail-Text klickt, kann er das Dokument lesen und unterzeichnen.
  • Wenn ein Dokument unterzeichnet wird, werden Sie optional per E-Mail mit einem Link zum unterzeichneten Dokument benachrichtigt.

sign_here-Verwendung

sign_here: email, timestampFormat, languageCode

wobei:
  • email
    Optional. Eine Zeichenfolge mit der E-Mail-Adresse, die Benachrichtigungen erhält, wenn ein Dokument unterzeichnet wird.
  • timestampFormat
    Optional. Eine Zeichenfolge, die das Erscheinungsbild des Zeitstempels unter der Unterschrift definiert. Der Standard ist "YYYY-MM-DD HH:mm:ss". Wenn eine leere Zeichenfolge angegeben wird, wird kein visueller Zeitstempel im resultierenden PDF-Dokument angezeigt.
  • languageCode
    Optional. Eine zweistellige Zeichenfolge, die die Sprache definiert, die die pdfMachine sign here-Website verwenden wird. Der Standard ist Englisch. Unterstützte Sprachen sind:
    Englisch - "en", Spanisch - "es", Französisch - "fr", Italienisch - "it", Deutsch - "de", Russisch - "ru"

Verwendungsbeispiel

Im Vorlagendokument:

Dies ist die Vereinbarung zwischen Rick Smith und Some Guy Corporation.

Blah blah blah….

Ich stimme den Bedingungen zu.

{{ name | sign_here: "[email protected]", "DD/MMM/YYYY MM:hh:ss", "en" }}

Im E-Mail-Text:

Dear {{name}}, Please click on the following link to review then sign the agreement: {% sign_here_list %} Regards, Some Guy
Die tatsächlich gesendete E-Mail sieht so aus:

Dear Rick Smith,

Please click on the following link to review then sign the agreement:

agreement.pdf

Regards, Some Guy
Wenn der E-Mail-Empfänger auf den Link klickt, sieht er eine Webseite, die so aussieht:


Wenn der E-Mail-Empfänger unterzeichnet, kann er die unterzeichnete PDF herunterladen. Ein Link zur unterzeichneten PDF wird an "[email protected]" gesendet. Die unterzeichnete PDF sieht so aus:

group_by-Filter

Dieser Filter arbeitet auf Arrays von Objekten. Er nimmt einen Eigenschaftsnamen als Parameter. Alle Objekte mit demselben Wert für diesen Eigenschaftsnamen werden zusammen in einem Array gruppiert. Das Ergebnis ist ein Array von Arrays.

z.B.
            Eingabe:

                {% assign groups = _rows | group_by: "cid" %}
                {% for group in groups %}
                    {{group[0].cid}}  {{group[0].name}}
                {% endfor %}

            Ausgabe:
                    1   Apples
                    2   Apples