Aller au contenu principal

PDF4me Modèle Word

Ce guide couvre

Ce guide vous accompagne dans la génération d'une facture unique. PDF dans n8n en utilisant le pack modèle.docx et data.json Pack d'échantillons. Le modèle Word utilise PDF4me <<[fieldName]>> fusionner les balises (syntaxe du moteur de rapports LINQ). Vous chargez le .docx sous forme de données binaires, coller ou charger la correspondance JSON/XML/CSVet en recevoir un fini PDF par exécution.

Articles de blog connexes
Il n'y a pas encore d'article de blog consacré à cette fonctionnalité — à venir prochainement.
En attendant, n'hésitez pas à consulter le blog de PDF4me pour découvrir des tutoriels et des procédures de travail adaptés à toutes les plateformes.
Consultez le blog

Avant de commencer

Modèle Word avec balises de fusion
L'échantillon modèle.docx est une mise en page de facture. Les valeurs dynamiques sont utilisées <<[InvNr]>>, <<[nom_entreprise1]>>, <<[nom_du_produit]>>, et des balises similaires. Les noms de champs sont sensibles à la casse et doivent correspondre exactement à vos clés de données.
Fichier de données correspondant
Utiliser data.json (recommandé), test.xml, ou test.csvLes trois factures ont la même valeur. Choisissez celle qui vous convient. Type de données du document dans le nœud pour correspondre au format de fichier que vous fournissez.
PDF4me diplôme en n8n
Créer un PDF4me diplôme en n8n et collez votre API clé. La même clé fonctionne pour tout PDF4me nœuds dans votre instance.

Pack de fichiers d'exemple

Téléchargez les quatre fichiers ci-dessous. Ils sont conçus pour fonctionner ensemble : un modèle et trois formats de données équivalents.

Que contiennent les fichiers d'exemple ?

Modèle de mise en page (template.docx)

Le modèle d'exemple est une page unique. facture avec des étiquettes fixes et des champs de fusion dynamiques :

Section DocumentsÉtiquette statique (fixée dans le modèle)Balise de fusion (remplie à partir des données)
En-têteFACTURE(statique)
Métadonnées de la factureFacture #<<[InvNr]>>
Métadonnées de la factureMontant de la facture<<[invAmt]>>
Métadonnées de la factureDate de facturation<<[invDate]>>
Métadonnées de la factureAPRÈS #<<[invPO]>>
Métadonnées de la facturePériode de facturation<<[from]>> à <<[to]>>
Facturé àFACTURÉ À<<[companyName1]>>, <<[companyName2]>>, <<[addressline1]>>, <<[addressline2]>>, <<[country]>>
Ligne d'élément de ligneDescription / Prix / TVA % / MONTANT (USD)<<[productName]>>, <<[price]>>, <<[vat]>>, <<[amount]>>
Syntaxe des balises de fusion

Les modèles Word de PDF4me utilisent <<[fieldName]>> (doubles équerres avec crochets). Ceci est différent de HTML syntaxe de moustache ({{fieldName}}). Voir le Guide de syntaxe des modèles Word Boucles for, conditions et chaînes de format.

Cartographie des champs dans tous les fichiers de données

Chaque valeur dynamique du modèle correspond à une clé dans data.json, un XML élément dans test.xml, ou un CSV colonne dans 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

Aperçu du flux de travail

Le moyen le plus rapide de tester le pack d'échantillons n8n:

Manual Trigger → Read Binary File (template.docx) → PDF4me Generate Document (Single) → (optional) Write Binary File
Étapen8n nœudBut
1Déclencheur manuelDémarrer le flux de travail à la demande
2Lire le fichier binaireCharges template.docx en propriété binaire data
3PDF4me → Générer un document (unique)Fusionne le modèle et les données, et génère un seul résultat. PDF
4Écrire un fichier binaire (facultatif)Sauvegardes generated_document_output.pdf sur disque
Générer un document (unique) : nœud n8n configuré avec le type de fichier modèle PDF4me Word, le type de sortie PDF, le type d'entrée du fichier modèle (données binaires), la propriété binaire du modèle (données), le nom du fichier modèle (template.docx), le type d'entrée des données du document (texte), le type de données du document (JSON) et un exemple de charge utile JSON pour les données du document (texte).

Configuration cible : Modèle Word à partir du binaire + JSON collé dans Texte des données du document + PDF sortir


Étape 1 : Téléchargez et placez les fichiers d’exemple

  1. Télécharger template.docx et data.json de la Pack de fichiers d'exemple au-dessus de.
  2. Enregistrez les deux fichiers quelque part. n8n peuvent les lire, par exemple C:\pdf4me-samples\ sur une instance auto-hébergée, ou téléchargez-les sur Google Drive / Dropbox si vous préférez utiliser des déclencheurs cloud ultérieurement.
  3. Téléchargement facultatif test.xml ou test.csv si vous voulez tester XML ou CSV types de données au lieu de JSON.

Étape 2 : Créer le n8n Flux de travail

  1. Dans n8n, créez un nouveau flux de travail.
  2. Ajouter un Déclencheur manuel nœud (ou tout autre déclencheur que vous préférez pour la production).
  3. Ajouter un Lire le fichier binaire nœud après le déclencheur.
  4. Ajouter PDF4me → Générer un document (unique) après la lecture du fichier binaire.
  5. Reliez les nœuds en séquence.

Étape 3 : Charger le modèle Word (Read Binary File)

Configurer le Lire le fichier binaire nœud :

ChampValeur
Chemin du fichierChemin complet vers votre fichier téléchargé template.docx
Nom de la propriétédata (par défaut ; cela devient la propriété binaire) PDF4me lectures de nœuds)

Exécutez ce nœud une fois et vérifiez que l'élément de sortie affiche un champ binaire nommé data avec nom de fichier template.docx.


Étape 4 : Configurer PDF4me Générer un document (unique)

Ouvrez le PDF4me Nœud et définissez ces champs. Les valeurs ci-dessous correspondent exactement à celles du pack d'exemple.

Paramètres principaux

ChampValeurNotes
Identifiant pour se connecter avecTon PDF4me titreObtenir API clé
RessourceGenerate
Générer des opérationsGénérer un document (unique)
Type de fichier modèleModèle PDF4me WordAllumettes .docx avec <<[field]>> étiquettes
Type de sortiePDFUtiliser Word si vous avez besoin d'une fusion modifiable .docx plutôt

Modèle d'entrée (à partir de la lecture du fichier binaire)

ChampValeur
Type de fichier modèleDonnées binaires
Propriété binaire du modèledata
Nom du fichier modèletemplate.docx

Données du document (coller le JSON depuis data.json)

ChampValeur
Type de saisie de données du documentTexte
Type de données du documentJSON
Texte des données du documentCollez l'intégralité du contenu de data.json (voir bloc ci-dessous)
{
"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"
}

Options de sortie

ChampValeur
Garder PDF ModifiableOff (default)
Nom de la sortie de données binairesdata (défaut)

Étape 5 : Exécuter et vérifier PDF

  1. Cliquez Exécuter le flux de travail (ou fuir le PDF4me nœud).
  2. Ouvrez le PDF4me Sortie du nœud. Sous Binaire, ouvrez le fichier dans les propriétés data (nom de fichier generated_document_output.pdf).
  3. Veuillez vérifier que la facture rendue indique :
    • Facture #202311InV
    • Facturé à → Muster AG / Hans Muster / example street / 8000 Zurich / Suisse
    • Ligne de commande → PDF4me, prix 1000, TVA 8,00, montant 1000
    • Période de facturation2023-10-24 à 2023-10-24

Si un champ est vide, comparez le nom de la balise dans template.docx avec le JSON clé. Elles doivent correspondre exactement (y compris la casse : InvNr pas invNr).


Étape 6 : Enregistrer le résultat (facultatif)

Ajouter un Écrire un fichier binaire nœud après PDF4me:

ChampValeur
Nom de fichierinvoice-output.pdf (ou utiliser une expression)
Nom de la propriété de donnéesdata
Chemin de sortieDossier où n8n devrait écrire le fichier

Formats de données alternatifs

Le même template.docx fonctionne avec les trois fichiers de données du pack d'exemples. Seul le Type de données du document et modification de la charge utile.

Option A : JSON fichier en tant que binaire (data.json)

  1. Ajoutez une seconde Lire le fichier binaire nœud pour data.json.
  2. Utilisez un Fusionner nœud permettant de combiner le modèle binaire et les données binaires en un seul élément (ou d'exécuter le chargement des données dans une branche séparée).
  3. Dans PDF4me: Type de saisie de données du document = Données binaires, Type de données du document = JSON, Propriété binaire du document = data, Nom du fichier de données du document = data.json.

Attention : conflit de noms de propriétés binaires Lorsque le modèle et les données utilisent tous deux une propriété data Sur un même élément, elles s'écrasent mutuellement. Utilisez des noms de propriétés distincts (par exemple, template et dataFile) ou fusionner les éléments de deux nœuds de lecture de fichier binaire.

:::

Option B : XML (test.xml)

Ensemble Type de données du document à XML et collez le contenu de 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)

Ensemble Type de données du document à CSV et collez le CSV corps (ligne d'en-tête + une ligne de données) :

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 Les en-têtes de colonnes correspondent JSON clés directement, qui correspondent aux <<[fieldName]>> balises dans le modèle.


Modèles de flux de production

Méthodes courantes de fourniture de modèles et de données en productionOnce the sample test works, replace the Manual Trigger and Read Binary File nodes with these patterns.
déclencheur de stockage cloud
  1. Déclencheur Google Drive / Dropbox / OneDrive activé lors de la création d'un nouveau fichier.
  2. Récupération des nœuds de téléchargement modèle.docx (ou utilisez un chemin de modèle fixe).
  3. Construire JSON dans un Code ou Ensemble nœud de CRM/Champs de feuille.
  4. PDF4me fusions et sorties PDF vers l'email ou le stockage.
Webhook avec dynamique JSON
  1. Le webhook reçoit la charge utile de la commande/facture.
  2. Modèle chargé une seule fois depuis URL ou stockage binaire.
  3. Associer le corps du webhook à Texte des données du document avec une expression.
  4. Les clés doivent toujours correspondre <<[fieldName]>> balises dans le modèle.
Publique URLs pour le modèle et les données
  1. Hôte modèle.docx et data.json en public HTTPS URLs.
  2. Ensemble Type de fichier modèle = URL, URL du fichier modèle = lien vers le modèle.
  3. Ensemble Type de saisie de données du document = URL, URL du fichier de données du document = liaison de données.
  4. Aucun téléchargement préalable de nœuds n'est requis.

Foire aux questions

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.

Guides associés