メインコンテンツへスキップ

PDF4me ワードテンプレート

このガイドの内容

このガイドでは、単一の請求書を作成する手順を説明します。 PDF で n8n バンドルされているものを使用する テンプレート.docx そして data.json サンプルパック。Word テンプレートは PDF4me <<[fieldName]>> マージタグ(LINQ Reporting Engine構文)。 .docx バイナリデータとして、ペーストまたはロードマッチング JSON/XML/CSV完成品を1つ受け取る PDF 1回の実行につき。

関連ブログ記事
この機能に関するブログ記事はまだありません。近日公開予定です。
その間、PDF4me ブログを閲覧して、あらゆるプラットフォームのチュートリアルやワークフローをご覧ください。
ブログをご覧ください →

始める前に​

差し込みタグ付きのWordテンプレート
サンプル テンプレート.docx 請求書のレイアウトです。動的な値を使用します <<[InvNr]>>、 <<[companyName1]>>、 <<[商品名]>>、および同様のタグ。フィールド名は大文字と小文字を区別し、データキーと完全に一致する必要があります。
一致するデータファイル
使用 data.json (推奨)、 test.xml、 または テスト.csv3つとも請求書の金額は同じです。 文書データタイプ ノード内で、指定したファイル形式に一致するようにします。
PDF4me 資格情報 n8n
作成する PDF4me 資格情報 n8n そしてあなたの API キー。同じキーがすべての場所で機能します PDF4me インスタンス内のノード。

サンプルファイルパック​

以下の4つのファイルをすべてダウンロードしてください。これらは連携して動作するように設計されています。1つのテンプレートと、それに対応する3つのデータ形式が含まれています。

サンプルファイルの内容​

テンプレートレイアウト(template.docx)​

サンプルテンプレートは1ページです 請求書 固定ラベルと動的マージフィールドを使用する場合:

ドキュメントセクション静的ラベル(テンプレートに固定)マージタグ(データから入力)
ヘッダ請求書(静的)
請求書メタ請求書 #<<[InvNr]>>
請求書メタ請求金額<<[invAmt]>>
請求書メタ請求書発行日<<[invDate]>>
請求書メタ後 #<<[invPO]>>
請求書メタ請求期間<<[from]>> に <<[to]>>
請求先請求先<<[companyName1]>>、 <<[companyName2]>>、 <<[addressline1]>>、 <<[addressline2]>>、 <<[country]>>
明細行商品名/価格/消費税率/金額(米ドル)<<[productName]>>、 <<[price]>>、 <<[vat]>>、 <<[amount]>>

:::ヒント:マージタグの構文 PDF4me Wordテンプレートの使い方 <<[fieldName]>> (角括弧付きの二重山括弧)。これは以下とは異なります。 HTML 口ひげ構文({{fieldName}}) を参照してください。 Wordテンプレート構文ガイドforループ、条件分岐、および書式文字列。 :::

すべてのデータファイルにわたるフィールドマッピング​

テンプレート内のすべての動的値は、 data.json、 XML 要素 test.xmlまたは CSV 列 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

ワークフローの概要​

サンプルパックをテストする最速の方法は n8n:

Manual Trigger → Read Binary File (template.docx) → PDF4me Generate Document (Single) → (optional) Write Binary File
ステップn8n ノード目的
1手動トリガーワークフローをオンデマンドで開始
2バイナリファイルを読み込む大量 template.docx バイナリプロパティへ data
3PDF4me → ドキュメント生成(単一)テンプレートとデータをマージして、1つの出力を生成します。 PDF
4バイナリファイルを書き込む (任意)セーブ generated_document_output.pdf ディスクへ
ドキュメント生成(単一)n8nノードは、テンプレートファイルタイプPDF4me Wordテンプレート、出力タイプPDF、テンプレートファイル入力タイプバイナリデータ、テンプレートバイナリプロパティデータ、テンプレートファイル名template.docx、ドキュメントデータ入力タイプテキスト、ドキュメントデータタイプJSON、サンプルドキュメントデータテキストJSONペイロードで構成されています。

対象構成: バイナリからの Word テンプレート + JSON 貼り付けられた 文書データテキスト + PDF 出力


ステップ1:サンプルファイルをダウンロードして配置する​

  1. ダウンロード template.docx そして data.json から サンプルファイルパック その上。
  2. 両方のファイルをどこかに保存してください。 n8n 例えば、それらを読むことができます C:\pdf4me-samples\ 自己ホスト型のインスタンスに保存するか、後でクラウドトリガーを使用したい場合は、Google DriveやDropboxにアップロードしてください。
  3. オプションでダウンロード test.xml または test.csv テストしたい場合は XML または CSV データ型の代わりに JSON。

ステップ2: n8n ワークフロー​

  1. で n8n新しいワークフローを作成します。
  2. 追加する 手動トリガー ノード(または本番環境でお好みのトリガー)。
  3. 追加する バイナリファイルを読み込む トリガーの後のノード。
  4. 追加 PDF4me → ドキュメント生成(単一) バイナリファイルを読み込んだ後。
  5. ノードを順番に接続してください。

ステップ 3: Word テンプレートを読み込む (Read Binary File)​

設定する バイナリファイルを読み込む ノード:

分野価値
ファイルパスダウンロードしたファイルのフルパス template.docx
物件名data (デフォルト。これはバイナリプロパティになります。 PDF4me ノード読み取り)

このノードを一度実行し、出力項目にバイナリフィールドが表示されることを確認してください。 data ファイル名付き template.docx。


ステップ4:設定 PDF4me ドキュメント生成(単一)​

開く PDF4me ノードを設定し、これらのフィールドを設定してください。以下の値はサンプルパックの値と完全に一致します。

コア設定​

分野価値注記
接続するための認証情報あなたの PDF4me 資格情報得る API 鍵
リソースGenerate
操作の生成ドキュメント生成(単一)
テンプレートファイルの種類PDF4me Wordテンプレート試合 .docx と <<[field]>> タグ
出力タイプPDF使用 Word 編集可能なマージが必要な場合は .docx その代わり

テンプレート入力(バイナリファイル読み込みから)​

分野価値
テンプレートファイル入力タイプバイナリデータ
テンプレートバイナリプロパティdata
テンプレートファイル名template.docx

ドキュメントデータ(JSONを貼り付け) data.json)​

分野価値
ドキュメントデータ入力タイプ文章
文書データタイプJSON
文書データテキスト内容全体を貼り付ける data.json (下記のブロックを参照)
{
"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"
}

出力オプション​

分野価値
保つ PDF 編集可能Off (default)
バイナリデータ出力名data (デフォルト)

ステップ 5: 実行して検証する PDF​

  1. クリック ワークフローを実行する (または逃げる) PDF4me ノード)。
  2. 開く PDF4me ノード出力。 バイナリファイルをプロパティで開く data (ファイル名 generated_document_output.pdf)
  3. 発行された請求書に以下の内容が記載されていることを確認してください。
    • 請求書 # → 202311InV
    • 請求先 → Muster AG / Hans Muster / example street / 8000 チューリッヒ / スイス
    • 明細項目 → PDF4me、価格 1000、VAT 8.00、金額 1000
    • 請求期間 → 2023-10-24 に 2023-10-24

フィールドが空白でレンダリングされた場合は、タグ名を比較します。 template.docx と共に JSON キー。これらは完全に一致する必要があります(大文字と小文字を含む)。 InvNr ない invNr)


ステップ6:出力結果を保存する(任意)​

追加する バイナリファイルを書き込む ノードの後 PDF4me:

分野価値
ファイル名invoice-output.pdf (または表現を使用する)
データプロパティ名data
出力パスフォルダー n8n ファイルを書き込む必要があります

代替データ形式​

同じ template.docx サンプルパックの 3 つのデータファイルすべてに対応しています。 文書データタイプ そしてペイロードも変化する。

選択肢A: JSON バイナリファイルとして(data.json)​

  1. 2つ目を追加する バイナリファイルを読み込む ノード data.json。
  2. 使用する マージ テンプレートバイナリとデータバイナリを1つのアイテムに結合するノード(または別のブランチでデータロードを実行するノード)。
  3. で PDF4me: ドキュメントデータ入力タイプ = バイナリデータ、 文書データタイプ = JSON、 文書バイナリプロパティ = data、 ドキュメントデータファイル名 = data.json。

:::注意 バイナリプロパティ名の衝突 テンプレートとデータの両方でプロパティが使用されている場合 data 同じアイテムに対して、それらは互いに上書きされます。別々のプロパティ名を使用してください (例: template そして dataFile)または、2 つの Read Binary File ノードからの項目をマージします。 :::

選択肢B: XML (test.xml)​

セット 文書データタイプ に XML そして、 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>

オプションC: CSV (test.csv)​

セット 文書データタイプ に CSV そして貼り付け CSV 本文(ヘッダー行+データ行1行):

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 列ヘッダーは JSON キーを直接マッピングし、 <<[fieldName]>> テンプレート内のタグ。


生産ワークフローパターン​

生産現場でテンプレートとデータを提供する一般的な方法Once the sample test works, replace the Manual Trigger and Read Binary File nodes with these patterns.
クラウドストレージのトリガー
  1. Google Drive / Dropbox / OneDrive のトリガーが新しいファイルで起動します。
  2. ダウンロードノードフェッチ テンプレート.docx (または固定テンプレートパスを使用する)。
  3. 建てる JSON で コード または セット ノードから CRM/シートのフィールド。
  4. PDF4me マージと出力 PDF メールまたはストレージへ。
動的なWebhook JSON
  1. Webhookは注文/請求書のペイロードを受信します。
  2. テンプレートは一度読み込まれました URL またはバイナリストア。
  3. ウェブフック本文をマッピング 文書データテキスト 表情を浮かべて。
  4. キーは一致する必要がある <<[fieldName]>> テンプレート内のタグ。
公共 URLs テンプレートとデータについて
  1. ホスト テンプレート.docx そして data.json 公共の場で HTTPS URLs。
  2. セット テンプレートファイル入力タイプ = URL、 テンプレートファイルのURL = テンプレートリンク。
  3. セット ドキュメントデータ入力タイプ = URL、 ドキュメントデータファイルのURL =データリンク。
  4. 事前のダウンロードノードは不要です。

よくある質問​

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.

関連ガイド​