Zum Hauptinhalt springen

PDF4me Word-Vorlage

Was dieser Leitfaden umfasst

Diese Anleitung führt Sie durch die Erstellung einer einzelnen Rechnung. PDF In n8n unter Verwendung der mitgelieferten template.docx Und data.json Beispielpaket. Die Word-Vorlage verwendet PDF4me <<[fieldName]>> Zusammenführungs-Tags (LINQ Reporting Engine-Syntax). Sie laden die .docx als Binärdaten, einfügen oder laden Übereinstimmungen JSON/XML/CSVund erhalten Sie ein fertiges Exemplar PDF pro Durchlauf.

Verwandte Blog-Beiträge
Zu dieser Funktion gibt es noch keinen Blogbeitrag – folgt in Kürze.
Schauen Sie sich in der Zwischenzeit im PDF4me-Blog Tutorials und Arbeitsabläufe für alle Plattformen an.
Besuchen Sie den Blog

Bevor Sie beginnen

Word-Vorlage mit Seriendruck-Tags
Das Muster template.docx ist ein Rechnungslayout. Dynamische Werte werden verwendet <<[InvNr]>>, <<[companyName1]>>, <<[productName]>>und ähnliche Tags. Feldnamen unterscheiden Groß- und Kleinschreibung und müssen exakt mit Ihren Datenschlüsseln übereinstimmen.
Passende Datendatei
Verwenden data.json (empfohlen), test.xml, oder test.csvAlle drei haben den gleichen Rechnungswert. Wählen Sie die Dokumentdatentyp im Knoten, um dem von Ihnen angegebenen Dateiformat zu entsprechen.
PDF4me Berechtigung in n8n
Erstellen Sie einen PDF4me Berechtigung in n8n und fügen Sie Ihren ein API Schlüssel. Derselbe Schlüssel funktioniert für alle PDF4me Knoten in Ihrer Instanz.

Beispieldateipaket

Laden Sie alle vier Dateien unten herunter. Sie sind so konzipiert, dass sie zusammenarbeiten: eine Vorlage plus drei äquivalente Datenformate.

Was ist in den Beispieldateien enthalten?

Vorlagenlayout (template.docx)

Die Beispielvorlage ist eine einseitige Vorlage. Rechnung mit festen Bezeichnungen und dynamischen Seriendruckfeldern:

DokumentenabschnittStatisches Label (im Template festgelegt)Tag zusammenführen (aus Daten befüllt)
KopfzeileRECHNUNG(statisch)
RechnungsmetaRechnung #<<[InvNr]>>
RechnungsmetaRechnungsbetrag<<[invAmt]>>
RechnungsmetaRechnungsdatum<<[invDate]>>
RechnungsmetaNACH #<<[invPO]>>
RechnungsmetaAbrechnungszeitraum<<[from]>> Zu <<[to]>>
Rechnung anIN RECHNUNG GESTELLT AN<<[companyName1]>>, <<[companyName2]>>, <<[addressline1]>>, <<[addressline2]>>, <<[country]>>
Zeile des PositionsartikelsBeschreibung / Preis / MwSt. % / BETRAG (USD)<<[productName]>>, <<[price]>>, <<[vat]>>, <<[amount]>>

:::Tipp Syntax für Merge-Tags PDF4me Word-Vorlagen verwenden <<[fieldName]>> (Doppelte spitze Klammern mit eckigen Klammern). Dies unterscheidet sich von HTML Schnurrbartsyntax ({{fieldName}}Siehe die Word-Vorlagen-Syntaxleitfaden for-Schleifen, Bedingungen und Formatzeichenketten.

:::

Feldzuordnung über alle Datendateien hinweg

Jeder dynamische Wert in der Vorlage ist einem Schlüssel zugeordnet in data.json, ein XML Element in test.xmloder ein CSV Spalte in test.csv:

Template tagJSON key (data.json)XML element (test.xml)Sample value
<<[companyName1]>>companyName1CompanyName1Muster AG
<<[companyName2]>>companyName2CompanyName2Hans Muster
<<[addressline1]>>addressline1AddressLine1example street
<<[addressline2]>>addressline2AddressLine28000 Zürich
<<[country]>>countryCountrySwitzerland
<<[productName]>>productNameProductNamePDF4me
<<[price]>>pricePrice1000
<<[vat]>>vatVAT8.00
<<[amount]>>amountAmount1000
<<[InvNr]>>InvNrInvoiceNumber202311InV
<<[invAmt]>>invAmtInvoiceAmount1000
<<[invDate]>>invDateInvoiceDate2023-11-24
<<[invPO]>>invPOPurchaseOrder1234567
<<[from]>>fromFromDate2023-10-24
<<[to]>>toToDate2023-10-24

Der Arbeitsablauf im Überblick

Der schnellste Weg, das Musterpaket zu testen in n8n:

Manual Trigger → Read Binary File (template.docx) → PDF4me Generate Document (Single) → (optional) Write Binary File
Schrittn8n KnotenZweck
1Manueller AuslöserStarten Sie den Workflow bei Bedarf
2Binärdatei lesenLasten template.docx in binäre Eigenschaften data
3PDF4me → Dokument generieren (Einzeln)Führt Vorlage und Daten zusammen und gibt ein Ergebnis aus PDF
4Binärdatei schreiben (optional)Speicherstände generated_document_output.pdf auf Festplatte
Dokument generieren (Einzeln) n8n-Knoten konfiguriert mit Vorlagendateityp PDF4me Word-Vorlage, Ausgabetyp PDF, Vorlagendatei-Eingabetyp Binärdaten, Vorlagen-Binäreigenschaftendaten, Vorlagendateiname template.docx, Dokumentdaten-Eingabetyp Text, Dokumentdatentyp JSON, Beispiel-Dokumentdaten-Text-JSON-Nutzlast

Zielkonfiguration: Word-Vorlage aus Binärdatei + JSON eingefügt Dokumentdaten Text + PDF Ausgabe


Schritt 1: Beispieldateien herunterladen und platzieren

  1. Herunterladen template.docx Und data.json von Beispieldateipaket über.
  2. Speichern Sie beide Dateien an einem beliebigen Ort. n8n kann sie zum Beispiel lesen. C:\pdf4me-samples\ auf einer selbstgehosteten Instanz oder laden Sie sie auf Google Drive / Dropbox hoch, wenn Sie Cloud-Trigger später bevorzugen.
  3. Optionaler Download test.xml oder test.csv Wenn Sie testen möchten XML oder CSV Datentypen anstelle von JSONDie

Schritt 2: Erstellen Sie die n8n Workflow

  1. In n8n, einen neuen Workflow erstellen.
  2. Füge ein Manueller Auslöser Node (oder ein beliebiger Trigger Ihrer Wahl für den Produktiveinsatz).
  3. Füge ein Binärdatei lesen Knoten nach dem Auslöser.
  4. Hinzufügen PDF4me → Dokument generieren (Einzeln) nach dem Lesen der Binärdatei.
  5. Verbinden Sie die Knoten nacheinander.

Schritt 3: Laden Sie die Word-Vorlage (Read Binary File)

Konfigurieren Sie die Binärdatei lesen Knoten:

FeldWert
DateipfadVollständiger Pfad zu Ihrer heruntergeladenen Datei template.docx
Name der Immobiliedata (Standardwert; dies wird zur binären Eigenschaft) PDF4me Knoten liest)

Führen Sie diesen Knoten einmal aus und überprüfen Sie, ob das Ausgabeelement ein Binärfeld mit dem Namen anzeigt. data mit Dateinamen template.docxDie


Schritt 4: Konfigurieren PDF4me Dokument generieren (Einzeln)

Öffne die PDF4me Knoten und legen Sie diese Felder fest. Die unten stehenden Werte entsprechen exakt dem Beispielpaket.

Kerneinstellungen

FeldWertAnmerkungen
Anmeldeinformationen zum Verbinden mitDein PDF4me BerechtigungErhalten API Schlüssel
RessourceGenerate
Operationen generierenDokument generieren (Einzeln)
VorlagendateitypPDF4me Word-VorlageSpiele .docx mit <<[field]>> Tags
AusgabetypPDFVerwenden Word Wenn Sie eine bearbeitbare, zusammengeführte Datei benötigen .docx stattdessen

Vorlageneingabe (aus „Binärdatei lesen“)

FeldWert
Eingabetyp der VorlagendateiBinärdaten
Vorlage Binäre Eigenschaftdata
Vorlagendateinametemplate.docx

Dokumentdaten (JSON einfügen von data.json)

FeldWert
Dokumentdaten-EingabetypText
DokumentdatentypJSON
Dokumentdaten TextFügen Sie den vollständigen Inhalt ein von data.json (siehe unten stehenden Block)
{
"companyName1": "Muster AG",
"companyName2": "Hans Muster",
"addressline1": "example street",
"addressline2": "8000 Zürich",
"country": "Switzerland",
"productName": "PDF4me",
"price": 1000,
"vat": 8.0,
"amount": 1000,
"InvNr": "202311InV",
"invAmt": 1000,
"invDate": "2023-11-24",
"invPO": "1234567",
"from": "2023-10-24",
"to": "2023-10-24"
}

Ausgabeoptionen

FeldWert
Halten PDF BearbeitbarOff (default)
Name der Binärdatenausgabedata (Standard)

Schritt 5: Ausführen und Überprüfen PDF

  1. Klicken Workflow ausführen (oder fliehen Sie vor dem PDF4me Knoten).
  2. Öffne die PDF4me Knotenausgabe. Unter BinärÖffnen Sie die Datei in den Eigenschaften. data (Dateiname generated_document_output.pdf).
  3. Bitte prüfen Sie, ob die ausgestellte Rechnung Folgendes enthält:
    • Rechnung #202311InV
    • Rechnung an → Muster AG / Hans Muster / Beispielstraße / 8000 Zürich / Schweiz
    • Position → PDF4me, Preis 1000, MwSt. 8,00, Betrag 1000
    • Abrechnungszeitraum2023-10-24 Zu 2023-10-24

Wenn ein Feld leer angezeigt wird, vergleichen Sie den Tag-Namen in template.docx mit dem JSON Schlüssel. Sie müssen exakt übereinstimmen (einschließlich Groß- und Kleinschreibung). InvNr nicht invNr).


Schritt 6: Ausgabe speichern (optional)

Füge ein Binärdatei schreiben Knoten nach PDF4me:

FeldWert
Dateinameinvoice-output.pdf (oder einen Ausdruck verwenden)
Name der Dateneigenschaftdata
AusgabepfadOrdner, in dem n8n sollte die Datei schreiben

Alternative Datenformate

Das gleiche template.docx Funktioniert mit allen drei Datendateien im Beispielpaket. Nur die Dokumentdatentyp und Nutzlaständerung.

Option A: JSON Datei als Binärdatei (data.json)

  1. Füge eine Sekunde hinzu Binärdatei lesen Knoten für data.jsonDie
  2. Verwenden Sie ein Verschmelzen Knoten zum Kombinieren von Vorlagenbinärdatei und Datenbinärdatei zu einem Element (oder zum Ausführen des Datenladevorgangs in einem separaten Zweig).
  3. In PDF4me: Dokumentdaten-Eingabetyp = Binärdaten, Dokumentdatentyp = JSON, Dokument-Binär-Eigenschaft = data, Dokumentdatendateiname = data.jsonDie

:::Vorsicht: Namenskonflikt bei binären Eigenschaften Wenn sowohl Vorlage als auch Daten diese Eigenschaft verwenden data Bei demselben Element überschreiben sie sich gegenseitig. Verwenden Sie separate Eigenschaftsnamen (z. B. template Und dataFile) oder Elemente aus zwei Read Binary File-Knoten zusammenführen.

:::

Option B: XML (test.xml)

Satz Dokumentdatentyp Zu XML und fügen Sie den Inhalt von ein test.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Invoice>
<CompanyName1>Muster AG</CompanyName1>
<CompanyName2>Hans Muster</CompanyName2>
<AddressLine1>example street</AddressLine1>
<AddressLine2>8000 Zürich</AddressLine2>
<Country>Switzerland</Country>
<ProductName>PDF4me</ProductName>
<Price>1000</Price>
<VAT>8.00</VAT>
<Amount>1000</Amount>
<InvoiceNumber>202311InV</InvoiceNumber>
<InvoiceAmount>1000</InvoiceAmount>
<InvoiceDate>2023-11-24</InvoiceDate>
<PurchaseOrder>1234567</PurchaseOrder>
<FromDate>2023-10-24</FromDate>
<ToDate>2023-10-24</ToDate>
</Invoice>

Option C: CSV (test.csv)

Satz Dokumentdatentyp Zu CSV und fügen Sie die CSV Körper (Kopfzeile + eine Datenzeile):

companyName1,companyName2,addressline1,addressline2,country,productName,price,vat,amount,InvNr,invAmt,invDate,invPO,from,to
"Muster AG","Hans Muster","example street","8000 Zürich","Switzerland","PDF4me",1000,8.00,1000,"202311InV",1000,"2023-11-24","1234567","2023-10-24","2023-10-24"

CSV Die Spaltenüberschriften stimmen überein JSON Tasten direkt, die den folgenden zugeordnet sind <<[fieldName]>> Tags in der Vorlage.


Produktionsablaufmuster

Gängige Methoden zur Bereitstellung von Vorlagen und Daten in der ProduktionOnce the sample test works, replace the Manual Trigger and Read Binary File nodes with these patterns.
Cloud-Speicher-Trigger
  1. Google Drive / Dropbox / OneDrive-Trigger wird beim Erstellen einer neuen Datei ausgelöst.
  2. Knoten herunterladen template.docx (oder einen festen Vorlagenpfad verwenden).
  3. Bauen JSON in einem Code oder Satz Knoten von CRM/Tabellenfelder.
  4. PDF4me Zusammenführungen und Ausgaben PDF zum E-Mailen oder Speichern.
Webhook mit dynamischer JSON
  1. Der Webhook empfängt die Bestell-/Rechnungsnutzdaten.
  2. Vorlage einmal geladen von URL oder Binärspeicher.
  3. Webhook-Body zuordnen Dokumentdaten Text mit einem Ausdruck.
  4. Die Schlüssel müssen weiterhin übereinstimmen. <<[fieldName]>> Tags in der Vorlage.
Öffentlich URLs für Vorlage und Daten
  1. Gastgeber template.docx Und data.json öffentlich HTTPS URLsDie
  2. Satz Eingabetyp der Vorlagendatei = URL, URL der Vorlagendatei = Vorlagenlink.
  3. Satz Dokumentdaten-Eingabetyp = URL, URL der Dokumentdatendatei = Datenverbindung.
  4. Es sind keine vorherigen Download-Knoten erforderlich.

Häufig gestellte Fragen

What placeholder syntax does PDF4me Word Template use?+
Use <<[fieldName]>> inside your .docx file. This is the PDF4me LINQ Reporting Engine syntax, not HTML mustache {{fieldName}}. For loops use <<foreach [item in items]>> ... <</foreach>>, for conditions use <<if [condition]>> ... <</if>>. See the Word Template Syntax guide for the full reference.
Why is a field blank in the generated PDF?+
The data key must match the template tag exactly, including case. InvNr in the template requires "InvNr" in JSON, not "invoiceNumber" or "invnr". Open template.docx and compare each <<[tag]>> with your data file. Empty values also render as blank without an error.
Can I use data.json as a file instead of pasting JSON?+
Yes. Load data.json with Read Binary File, set Document Data Input Type to Binary Data, Document Data Type to JSON, and point Document Binary Property to the binary field. If the template also uses binary property data, rename one property (e.g. template vs dataFile) or merge items from separate nodes.
JSON vs XML vs CSV: which should I use?+
JSON is the simplest for n8n because keys map directly to <<[fieldName]>> tags (as in data.json). XML (test.xml) uses PascalCase element names that PDF4me binds to the same template fields. CSV (test.csv) uses column headers matching the JSON keys, which is useful when data comes from spreadsheets or exports.
PDF or Word output?+
Set Output Type to PDF for sharing, emailing, or archiving. Set Output Type to Word when the recipient needs to edit the merged document after generation. The sample invoice works with both.

Verwandte Leitfäden