Passa al contenuto principale

PDF4me Modello Word

Cosa tratta questa guida

Questa guida ti illustra come generare una singola fattura PDF In n8n utilizzando il pacchetto template.docx E data.json pacchetto di esempio. Il modello Word utilizza PDF4me <<[fieldName]>> unisci i tag (sintassi LINQ Reporting Engine). Carichi il .docx come dati binari, incolla o carica la corrispondenza JSON/XML/CSVe ricevere un prodotto finito PDF per ogni esecuzione.

Articoli correlati del blog
Non ci sono ancora post sul blog dedicati a questa funzionalità — in arrivo a breve.
Nel frattempo, dai un'occhiata al blog di PDF4me per trovare tutorial e procedure operative su tutte le piattaforme.
Visita il blog

Prima di iniziare

Modello Word con tag di unione
Il campione template.docx è un layout di fattura. I valori dinamici utilizzano <<[InvNr]>>, <<[nomeazienda1]>>, <<[nomeprodotto]>>e tag simili. I nomi dei campi fanno distinzione tra maiuscole e minuscole e devono corrispondere esattamente alle chiavi dei dati.
File di dati corrispondente
Utilizzo data.json (consigliato), test.xml, O test.csv. Tutti e tre hanno gli stessi valori di fattura. Scegli il Tipo di dati del documento nel nodo per corrispondere al formato del file fornito.
PDF4me credenziale in n8n
Crea un PDF4me credenziale in n8n e incolla il tuo API chiave. La stessa chiave funziona su tutti PDF4me nodi nella tua istanza.

Pacchetto di file di esempio

Scarica tutti e quattro i file qui sotto. Sono progettati per funzionare insieme: un modello più tre formati di dati equivalenti.

Cosa contengono i file di esempio?

Layout del modello (template.docx)

Il modello di esempio è una pagina singola fattura con etichette fisse e campi di unione dinamici:

Sezione DocumentiEtichetta statica (fissa nel modello)Tag di unione (compilato dai dati)
IntestazioneFATTURA(statico)
Metadati della fatturaFattura #<<[InvNr]>>
Metadati della fatturaImporto della fattura<<[invAmt]>>
Metadati della fatturaData della fattura<<[invDate]>>
Metadati della fatturaDOPO #<<[invPO]>>
Metadati della fatturaPeriodo di fatturazione<<[from]>> A <<[to]>>
Fatturato aFATTURATO A<<[companyName1]>>, <<[companyName2]>>, <<[addressline1]>>, <<[addressline2]>>, <<[country]>>
Riga degli articoli esterniDescrizione / Prezzo / IVA % / IMPORTO (USD)<<[productName]>>, <<[price]>>, <<[vat]>>, <<[amount]>>

:::suggerimento Sintassi del tag di unione I modelli Word di PDF4me utilizzano <<[fieldName]>> (doppie parentesi angolari con parentesi quadre). Questo è diverso da HTML sintassi dei baffi ({{fieldName}}). Vedi il Guida alla sintassi dei modelli Word cicli for, condizioni e stringhe di formato.

:::

Mappatura dei campi su tutti i file di dati

Ogni valore dinamico nel modello corrisponde a una chiave in data.json, UN XML elemento in test.xml, o un CSV colonna 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

Panoramica del flusso di lavoro

Il modo più veloce per testare il pacchetto di campioni in n8n:

Manual Trigger → Read Binary File (template.docx) → PDF4me Generate Document (Single) → (optional) Write Binary File
Fare un passon8n nodoScopo
1Grilletto manualeAvvia il flusso di lavoro su richiesta
2Leggere file binarioCarichi template.docx in proprietà binaria data
3PDF4me → Genera documento (singolo)Unisce modello + dati, produce un output PDF
4Scrivi file binario (opzionale)Salvataggi generated_document_output.pdf su disco
Genera documento (singolo) nodo n8n configurato con tipo di file modello PDF4me Word Template, tipo di output PDF, tipo di input del file modello Dati binari, proprietà binaria del modello data, nome del file modello template.docx, tipo di input dei dati del documento Testo, tipo di dati del documento JSON, esempio di payload JSON di testo dei dati del documento

Configurazione di destinazione: modello Word da binario + JSON incollato Testo dei dati del documento + PDF produzione


Passaggio 1: Scarica e posiziona i file di esempio

  1. Scaricamento template.docx E data.json dal Pacchetto di file di esempio Sopra.
  2. Salva entrambi i file da qualche parte n8n possono leggerli, ad esempio C:\pdf4me-samples\ su un'istanza self-hosted oppure caricali su Google Drive/Dropbox se preferisci i trigger cloud in un secondo momento.
  3. Download facoltativo test.xml O test.csv se vuoi testare XML O CSV tipi di dati invece di JSON.

Passaggio 2: creare il n8n Flusso di lavoro

  1. In n8n, creare un nuovo flusso di lavoro.
  2. Aggiungi un Grilletto manuale nodo (o qualsiasi trigger si preferisca per la produzione).
  3. Aggiungi un Leggere file binario nodo dopo il trigger.
  4. Aggiungere PDF4me → Genera documento (singolo) dopo aver letto il file binario.
  5. Collega i nodi in sequenza.

Passaggio 3: Carica il modello di Word (Read Binary File)

Configurare il Leggere file binario nodo:

CampoValore
Percorso del filePercorso completo del file scaricato template.docx
Nome della proprietàdata (predefinito; questo diventa la proprietà binaria PDF4me letture del nodo)

Esegui questo nodo una volta e conferma che l'elemento di output mostra un campo binario denominato data con nome file template.docx.


Passaggio 4: Configurare PDF4me Genera documento (singolo)

Apri il PDF4me nodo e imposta questi campi. I valori seguenti corrispondono esattamente al pacchetto di esempio.

Impostazioni principali

CampoValoreNote
Credenziali per connettersi conTuo PDF4me credenzialeOttenere API chiave
RisorsaGenerate
Generare operazioniGenera documento (singolo)
Tipo di file modelloModello Word PDF4mePartite .docx con <<[field]>> tag
Tipo di outputPDFUtilizzo Word se hai bisogno di un file unito modificabile .docx Invece

Input del modello (da Leggi file binario)

CampoValore
Tipo di input del file modelloDati binari
Proprietà binaria del modellodata
Tempo di creazione del file modellotemplate.docx

Dati del documento (incolla JSON da data.json)

CampoValore
Tipo di immissione dati del documentoTesto
Tipo di dati del documentoJSON
Testo dei dati del documentoIncolla l'intero contenuto di data.json (vedi il blocco sottostante)
{
"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"
}

Opzioni di output

CampoValore
Mantenere PDF ModificabileOff (default)
Nome dell'output dei dati binaridata (predefinito)

Passaggio 5: Eseguire e verificare PDF

  1. Fare clic Eseguire il flusso di lavoro (o scappare dal PDF4me nodo).
  2. Apri il PDF4me output del nodo. Sotto Binario, apri il file nella proprietà data (nome file generated_document_output.pdf).
  3. Confermare che la fattura emessa mostri quanto segue:
    • Fattura #202311InV
    • Fatturato a → Muster AG / Hans Muster / example street / 8000 Zurigo / Svizzera
    • Voce di riga → PDF4me, prezzo 1000, IVA 8,00, importo 1000
    • Periodo di fatturazione2023-10-24 A 2023-10-24

Se un campo viene visualizzato vuoto, confronta il nome del tag in template.docx con il JSON chiave. Devono corrispondere esattamente (maiuscole e minuscole incluse: InvNr non invNr).


Passaggio 6: Salvare l'output (facoltativo)

Aggiungi un Scrivi file binario nodo dopo PDF4me:

CampoValore
Nome del fileinvoice-output.pdf (oppure usa un'espressione)
Nome della proprietà datidata
Percorso di outputCartella dove n8n dovrebbe scrivere il file

Formati dati alternativi

Lo stesso template.docx funziona con tutti e tre i file di dati nel pacchetto di esempio. Solo il Tipo di dati del documento e variazione del carico utile.

Opzione A: JSON file come binario (data.json)

  1. Aggiungi un secondo Leggere file binario nodo per data.json.
  2. Utilizzare un Unire nodo per combinare il binario del modello e il binario dei dati in un unico elemento (oppure eseguire il caricamento dei dati in un ramo separato).
  3. In PDF4me: Tipo di immissione dati del documento = Dati binari, Tipo di dati del documento = JSON, Proprietà binaria del documento = data, Nome del file di dati del documento = data.json.

:::attenzione Conflitto di nomi di proprietà binarie Quando il modello e i dati utilizzano entrambi la proprietà data sullo stesso elemento, si sovrascrivono a vicenda. Utilizzare nomi di proprietà separati (ad esempio template E dataFile) oppure unisci elementi da due nodi Leggi file binario.

:::

Opzione B: XML test.xml)

Impostato Tipo di dati del documento A XML e incolla il contenuto di 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>

Opzione C: CSV test.csv)

Impostato Tipo di dati del documento A CSV e incolla il CSV corpo (riga di intestazione + una riga di dati):

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 le intestazioni di colonna corrispondono a JSON chiavi direttamente, che corrispondono a <<[fieldName]>> tag nel modello.


Modelli di flusso di lavoro di produzione

Metodi comuni per fornire modelli e dati in produzioneOnce the sample test works, replace the Manual Trigger and Read Binary File nodes with these patterns.
Attivazione dell'archiviazione cloud
  1. Il trigger di Google Drive/Dropbox/OneDrive si attiva alla creazione di un nuovo file.
  2. Scarica i recuperi dei nodi template.docx (oppure utilizzare un percorso modello fisso).
  3. Costruire JSON in un Codice O Impostato nodo da CRMCampi del foglio di calcolo.
  4. PDF4me unioni e output PDF alla posta elettronica o all'archiviazione.
Webhook con dinamico JSON
  1. Il webhook riceve il payload dell'ordine/fattura.
  2. Modello caricato una volta da URL o archivio binario.
  3. Mappa il corpo del webhook a Testo dei dati del documento con un'espressione.
  4. Le chiavi devono ancora corrispondere <<[fieldName]>> tag nel modello.
pubblico URLs per modello e dati
  1. Ospite template.docx E data.json in pubblico HTTPS URLs.
  2. Impostato Tipo di input del file modello = URL, URL del file modello = collegamento al modello.
  3. Impostato Tipo di immissione dati del documento = URL, URL del file di dati del documento = collegamento dati.
  4. Non è necessario scaricare alcun nodo in anticipo.

Domande frequenti

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.

Guide correlate