Pular para o conteúdo principal

PDF4me Modelo do Word

O que este guia abrange

Este guia orienta você na geração de uma única fatura. PDF em n8n usando o pacote modelo.docx e data.json pacote de amostra. O modelo do Word usa PDF4me <<[nomeDoCampo]>> Mesclar tags (sintaxe do mecanismo de relatórios LINQ). Você carrega o .docx como dados binários, colar ou carregar correspondência JSON/XML/CSVe receba um finalizado PDF por execução.

Artigos relacionados no blogue
Ainda não há nenhuma publicação no blogue sobre esta funcionalidade — em breve.
Entretanto, explore o blogue da PDF4me para encontrar tutoriais e fluxos de trabalho para todas as plataformas.
Visite o blogue

Antes de começar

Modelo do Word com etiquetas de mesclagem
A amostra modelo.docx É um layout de fatura. Valores dinâmicos usam <<[Nº do Inv]>>, <<[nomeDaEmpresa1]>>, <<[nome do produto]>>e tags semelhantes. Os nomes dos campos diferenciam maiúsculas de minúsculas e devem corresponder exatamente às suas chaves de dados.
Arquivo de dados correspondente
Usar data.json (recomendado), test.xml, ou test.csvTodos os três têm os mesmos valores de fatura. Escolha o Tipo de dados do documento no nó para corresponder ao formato de arquivo fornecido.
PDF4me credencial em n8n
Criar um PDF4me credencial em n8n e cole o seu API chave. A mesma chave funciona em todos os PDF4me nós em sua instância.

Pacote de Arquivos de Amostra

Faça o download dos quatro arquivos abaixo. Eles foram projetados para funcionar em conjunto: um modelo e três formatos de dados equivalentes.

O que há dentro dos arquivos de amostra?

Layout do modelo (template.docx)

O modelo de exemplo é uma página única. fatura Com rótulos fixos e campos de mesclagem dinâmicos:

Seção de documentosRótulo estático (fixo no modelo)Etiqueta de mesclagem (preenchida a partir de dados)
CabeçalhoFATURA(estático)
Metadados da faturaFatura #<<[InvNr]>>
Metadados da faturaValor da fatura<<[invAmt]>>
Metadados da faturaData da fatura<<[invDate]>>
Metadados da faturaDEPOIS #<<[invPO]>>
Metadados da faturaPeríodo de faturamento<<[from]>> para <<[to]>>
Faturado paraCOBRADO A<<[companyName1]>>, <<[companyName2]>>, <<[addressline1]>>, <<[addressline2]>>, <<[country]>>
Linha do itemDescrição / Preço / IVA % / VALOR (USD)<<[productName]>>, <<[price]>>, <<[vat]>>, <<[amount]>>

:::dica Sintaxe de mesclagem de tags Uso de modelos do PDF4me Word <<[fieldName]>> (colchetes angulares duplos com colchetes retos). Isso é diferente de HTML sintaxe de bigode ({{fieldName}}). Veja o Guia de sintaxe de modelos do Word laços de repetição, condições e strings de formatação. :::

Mapeamento de campos em todos os arquivos de dados

Cada valor dinâmico no modelo corresponde a uma chave em data.json, um XML elemento em test.xmlou um CSV coluna em 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

Visão geral do fluxo de trabalho

A maneira mais rápida de testar o pacote de amostras em n8n:

Manual Trigger → Read Binary File (template.docx) → PDF4me Generate Document (Single) → (optional) Write Binary File
Etapan8nPropósito
1Gatilho manualInicie o fluxo de trabalho sob demanda
2Ler arquivo binárioCargas template.docx em propriedade binária data
3PDF4me → Gerar documento (único)Combina modelo + dados, gerando um único resultado. PDF
4Escrever arquivo binário (opcional)Salva generated_document_output.pdf para disco
Gerar Documento (Único) - Nó n8n configurado com Tipo de Arquivo de Modelo PDF4me Word Template, Tipo de Saída PDF, Tipo de Entrada do Arquivo de Modelo Dados Binários, Propriedade Binária do Modelo data, Nome do Arquivo de Modelo template.docx, Tipo de Entrada de Dados do Documento Texto, Tipo de Dados do Documento JSON, exemplo de dados do documento Texto JSON payload

Configuração de destino: Modelo do Word a partir de binário + JSON colado em Texto dos dados do documento + PDF saída


Passo 1: Baixe e coloque os arquivos de exemplo.

  1. Download template.docx e data.json do Pacote de Arquivos de Amostra acima.
  2. Salve os dois arquivos em algum lugar. n8n pode lê-los, por exemplo C:\pdf4me-samples\ em uma instância auto-hospedada ou faça o upload para o Google Drive/Dropbox se preferir gatilhos na nuvem posteriormente.
  3. Opcionalmente, faça o download. test.xml ou test.csv Se você quiser testar XML ou CSV tipos de dados em vez de JSON.

Passo 2: Crie o n8n Fluxo de trabalho

  1. Em n8nCrie um novo fluxo de trabalho.
  2. Adicionar um Gatilho manual nó (ou qualquer gatilho que você preferir para produção).
  3. Adicionar um Ler arquivo binário nó após o gatilho.
  4. Adicionar PDF4me → Gerar documento (único) após ler o arquivo binário.
  5. Conecte os nós em sequência.

Passo 3: Carregar o modelo do Word (Read Binary File)

Configure o Ler arquivo binário nó:

CampoValor
Caminho do arquivoCaminho completo para o arquivo baixado. template.docx
Nome da propriedadedata (padrão; isso se torna a propriedade binária do PDF4me leituras do nó)

Execute este nó uma vez e confirme se o item de saída exibe um campo binário chamado data com nome de arquivo template.docx.


Etapa 4: Configurar PDF4me Gerar documento (único)

Abra o PDF4me No nó, defina esses campos. Os valores abaixo correspondem exatamente ao pacote de amostra.

Configurações principais

CampoValorNotas
Credencial para se conectar comSeu PDF4me credencialPegar API chave
RecursoGenerate
Gerar operaçõesGerar documento (único)
Tipo de arquivo de modeloModelo PDF4me WordPartidas .docx com <<[field]>> tags
Tipo de saídaPDFUsar Word Se você precisar de uma mesclagem editável .docx em vez de

Entrada de modelo (de Ler arquivo binário)

CampoValor
Tipo de entrada de arquivo de modeloDados binários
Propriedade binária do modelodata
Nome do arquivo de modelotemplate.docx

Dados do documento (cole o JSON de data.json)

CampoValor
Tipo de entrada de dados do documentoTexto
Tipo de dados do documentoJSON
Texto dos dados do documentoCole o conteúdo completo de data.json (ver bloco abaixo)
{
"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"
}

Opções de saída

CampoValor
Manter PDF EditávelOff (default)
Nome da saída de dados bináriosdata (padrão)

Etapa 5: Execute e verifique o PDF

  1. Clique Executar fluxo de trabalho (ou fugir do PDF4me nó).
  2. Abra o PDF4me Saída do nó. Em Binário, abra o arquivo em propriedades data (nome do arquivo) generated_document_output.pdf).
  3. Confirme se a fatura emitida mostra:
    • Fatura #202311InV
    • Faturado para → Muster AG / Hans Muster / example street / 8000 Zurique / Suíça
    • Item de linha → PDF4me, preço 1000, IVA 8,00, quantidade 1000
    • Período de faturamento2023-10-24 para 2023-10-24

Se um campo ficar em branco, compare o nome da tag em template.docx com o JSON chave. Devem corresponder exatamente (incluindo maiúsculas e minúsculas: InvNr não invNr).


Passo 6: Salvar o resultado (Opcional)

Adicionar um Escrever arquivo binário nó após PDF4me:

CampoValor
Nome do arquivoinvoice-output.pdf (ou use uma expressão)
Nome da propriedade de dadosdata
Caminho de saídaPasta onde n8n deve escrever o arquivo

Formatos de dados alternativos

O mesmo template.docx Funciona com todos os três arquivos de dados no pacote de amostras. Apenas o Tipo de dados do documento e alteração da carga útil.

Opção A: JSON arquivo como binário (data.json)

  1. Adicione um segundo Ler arquivo binário nó para data.json.
  2. Use um Fusão Node para combinar o binário do modelo e o binário dos dados em um único item (ou executar o carregamento de dados em um ramo separado).
  3. Em PDF4me: Tipo de entrada de dados do documento = Dados binários, Tipo de dados do documento = JSON, Propriedade binária do documento = data, Nome do arquivo de dados do documento = data.json.

:::cuidado Conflito de nomes de propriedades binárias Quando o modelo e os dados usam a propriedade data No mesmo item, eles se sobrescrevem. Use nomes de propriedade separados (por exemplo, template e dataFile) ou mesclar itens de dois nós de Leitura de Arquivo Binário. :::

Opção B: XML (test.xml)

Definir Tipo de dados do documento para XML e cole o conteúdo 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>

Opção C: CSV (test.csv)

Definir Tipo de dados do documento para CSV e cole o CSV corpo (linha de cabeçalho + uma linha de dados):

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 Os cabeçalhos das colunas correspondem ao JSON chaves diretamente, que mapeiam para o <<[fieldName]>> tags no modelo.


Padrões de fluxo de trabalho de produção

Formas comuns de fornecer modelos e dados em produção.Once the sample test works, replace the Manual Trigger and Read Binary File nodes with these patterns.
gatilho de armazenamento em nuvem
  1. O Google Drive / Dropbox / OneDrive dispara um gatilho ao criar um novo arquivo.
  2. Baixar nós busca modelo.docx (ou use um caminho de modelo fixo).
  3. Construir JSON em um Código ou Definir nó de CRM/Campos da planilha.
  4. PDF4me mesclagens e saídas PDF para e-mail ou armazenamento.
Webhook com dinâmica JSON
  1. O webhook recebe os dados do pedido/fatura.
  2. Modelo carregado uma vez de URL ou armazenamento binário.
  3. Corpo do webhook mapeado para Texto dos dados do documento com uma expressão.
  4. As chaves ainda devem corresponder. <<[nomeDoCampo]>> tags no modelo.
Público URLs para modelo e dados
  1. Hospedar modelo.docx e data.json em público HTTPS URLs.
  2. Definir Tipo de entrada de arquivo de modelo = URL, URL do arquivo de modelo = link do modelo.
  3. Definir Tipo de entrada de dados do documento = URL, URL do arquivo de dados do documento = link de dados.
  4. Não são necessários nós de download prévios.

Perguntas frequentes

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.

Guias relacionados