n8nでPDF生成する4つの方法|公式ノードで帳票PDFをノーコード自動化
「n8nでフォーム回答やデータ更新をトリガーに、請求書・見積書・納品書などのPDFを自動生成したい」——そんな場面では、いくつかの実装方法があります。
代表的なのは、Google Docs / Google Sheetsを使う方法、PuppeteerやGotenbergをセルフホストする方法、汎用PDF生成APIをHTTP Requestで呼ぶ方法、そしてRe:port Flowの公式n8nコミュニティノードを使う方法です。
この記事では、n8nでPDF生成を行う4つの方法を比較しながら、帳票PDFを継続運用するならどの方法が向いているかを整理します。
n8nでPDF生成が必要になる場面
n8nは、フォーム・CRM・スプレッドシート・Notion・Webhookなどをつないで業務フローを自動化できるワークフローツールです。
PDF生成が必要になる代表例は次のようなケースです。
- フォーム回答から見積書PDFを作る
- 受注Webhookから請求書・納品書PDFを発行する
- Notion DBやGoogle Sheetsの行データから帳票を作る
- CRMの顧客情報を契約書・申込書に差し込む
- 月次データから報告書PDFを一括生成する
- 生成したPDFをGmail、Slack、Google Driveなどに自動連携する
つまり、n8nでPDFを作りたい場面の多くは、単なる「WebページのPDF化」ではなく、業務データを正式な帳票レイアウトに差し込む処理です。
ここで重要になるのが、テンプレート管理、日本語フォント、改ページ、表組み、複数PDF生成、運用後の保守です。
n8nでPDF生成する4つの方法
1. Google Docs / Google Sheetsを使う
もっとも手軽な方法のひとつは、Google DocsやGoogle Sheetsをテンプレートとして使い、n8nからデータを差し込んでPDF化する方法です。
たとえば、Google Sheetsのテンプレートに顧客名・品目・金額を入力し、PDFとしてエクスポートする構成です。
向いているケース
- 既にGoogle Workspaceで業務を回している
- 簡単な請求書・見積書を作りたい
- 初期費用を抑えて小さく試したい
- テンプレートが比較的シンプル
注意点
- レイアウト調整がGoogle Docs / Sheetsの仕様に依存する
- 行ごとの一括生成や複数帳票への展開が複雑になりやすい
- 帳票テンプレートの管理が属人化しやすい
- フォーマット崩れや印刷範囲の調整が運用負荷になりやすい
小規模な自動化には向いていますが、帳票生成をプロダクトや業務フローの中核に置く場合は、保守性が課題になりやすい方法です。
2. Puppeteer / Gotenbergをセルフホストする
HTMLとCSSで帳票を作り、PuppeteerやGotenbergでPDF化する方法もあります。
自由度が高く、エンジニアが細かく制御できるため、開発チームがある場合には有力な選択肢です。
向いているケース
- HTML / CSSで帳票レイアウトを細かく作り込みたい
- セルフホスト環境を運用できる
- PDF生成インフラを自社で持ちたい
- 開発チームが継続的に保守できる
注意点
- n8n Cloudでは構成しづらい場合がある
- 日本語フォント、改ページ、余白、表組みの調整にハマりやすい
- ブラウザ・ライブラリ・フォントのバージョン差分で出力が変わることがある
- テンプレート変更のたびにエンジニア対応が必要になりやすい
Puppeteer / Gotenbergは柔軟ですが、帳票PDF生成のためだけにインフラと保守を持つべきかは慎重に判断した方がよいです。
3. 汎用PDF生成APIをHTTP Requestで呼ぶ
n8nのHTTP Requestノードから、外部のPDF生成APIを呼び出す方法です。
HTMLやJSONをAPIへ送り、PDFファイルやダウンロードURLを受け取る構成になります。
向いているケース
- PDF生成インフラを自前で持ちたくない
- n8n Cloudでも使いたい
- 既存のPDF APIをすでに利用している
- HTML→PDF変換を簡単に外部化したい
注意点
- APIごとに認証・リクエスト形式・エラー処理を書く必要がある
- 帳票テンプレート管理が別途必要になる
- 複数PDF生成や非同期処理の実装が複雑になることがある
- 帳票特化ではないAPIの場合、日本の業務帳票要件に合わせづらいことがある
単発のHTML→PDFには向いていますが、請求書・見積書・納品書などを継続的に運用する場合は、テンプレート管理や業務帳票向け機能が不足しやすいです。
4. Re:port Flow公式n8nコミュニティノードを使う
Re:port Flowは、帳票・ドキュメント生成に特化したクラウド帳票SaaSです。
n8n向けには、公式コミュニティノード n8n-nodes-reportflow を提供しています。HTTP Requestを手書きしなくても、n8nの画面上からRe:port Flowの帳票生成APIを呼び出せます。
向いているケース
- n8nから請求書・見積書・納品書などを自動生成したい
- 帳票テンプレートをGUIで管理したい
- 日本語フォント・改ページ・表組みを含む帳票を扱いたい
- PDF生成インフラを自社で持ちたくない
- 複数PDF生成や非同期生成にも対応したい
- n8n Cloud / セルフホストの両方で使いたい
できること
- 単一PDFの同期生成
- 単一PDFの非同期生成
- 複数PDFの一括生成
- 非同期生成後のWebhook連携
- テンプレートのパラメータ構造取得
- 生成したPDFのメール送信・Drive保存・Slack通知などへの連携
帳票テンプレートはRe:port Flow側で管理し、n8nは「いつ・どのデータで・どこへ送るか」を制御する役割に分けられます。
4つの方法の比較
| 方法 | 初期設定 | レイアウト自由度 | 日本語帳票 | 保守コスト | 向いている用途 |
|---|---|---|---|---|---|
| Google Docs / Sheets | 簡単 | 中 | 中 | 中 | 小規模な請求書・見積書 |
| Puppeteer / Gotenberg | 難しめ | 高 | 要調整 | 高 | 開発チームが保守するHTML帳票 |
| 汎用PDF API | 中 | API次第 | API次第 | 中 | HTML→PDFの外部化 |
| Re:port Flow公式ノード | 簡単 | 高 | 対応しやすい | 低 | 業務帳票PDFの継続運用 |
Re:port Flow × n8nの基本ワークフロー
典型的な流れは次の通りです。
- n8nでトリガーを設定する
- 必要なデータを整形する
- Re:port FlowノードでPDFを生成する
- 生成したPDFを後続処理へ渡す
n8nはワークフロー全体の制御、Re:port Flowは帳票テンプレートとPDF生成を担当します。
連携の基本手順
1. Re:port Flowでテンプレートを作成する
まず、Re:port Flowで請求書・見積書・納品書などの帳票テンプレートを作成します。
テンプレートには、顧客名、金額、明細行、日付などの差し込み項目を設定します。
2. n8nに公式ノードをインストールする
n8nのCommunity Nodesから、n8n-nodes-reportflow をインストールします。
セルフホスト版n8nの場合は、環境設定でコミュニティノードを有効にしてからインストールします。
3. AppKeyを設定する
Re:port Flowの管理画面でアプリケーションキーを発行し、n8nのCredentialsに設定します。
一度設定すれば、複数のワークフローで使い回せます。
4. トリガーとデータ整形ノードを作る
フォーム、Webhook、Google Sheets、Notion、CRMなど、PDF生成の起点になるノードを設定します。
その後、SetノードやCodeノードでRe:port Flowに渡すデータ形式へ整形します。
5. Re:port FlowノードでPDFを生成する
テンプレートIDと差し込みデータを指定し、PDFを生成します。
単一帳票であれば同期生成、件数が多い場合や重い帳票では非同期生成を使うと運用しやすくなります。
6. PDFをメール送信・保存・通知する
生成されたPDFを、Gmail、Google Drive、Slack、Notionなどの後続ノードに渡します。
これにより、データ発生から帳票作成、送付、保存までをn8n上で自動化できます。
ユースケース
フォーム回答から見積書PDFを自動生成
問い合わせフォームや見積依頼フォームをトリガーにして、回答内容をRe:port Flowへ渡し、見積書PDFを生成します。
生成後は、営業担当へSlack通知したり、顧客へメール送信したりできます。
Google Sheetsの行データから請求書を一括生成
Google Sheetsにある請求対象の行を読み取り、各行ごとに請求書PDFを生成します。
月次請求や定期レポートのように、同じテンプレートで複数ファイルを作る業務に向いています。
Notion DBから帳票PDFを生成
Notion DBで案件・顧客・請求情報を管理している場合、そのデータをn8nで取得し、Re:port Flowへ渡してPDF化できます。
Notionはデータ管理、Re:port Flowは正式帳票出力、n8nは自動化フローという役割分担です。
受注Webhookから納品書・請求書を発行
ECやSaaS、業務システムから受注Webhookを受け取り、納品書や請求書PDFを自動生成します。
生成したPDFは、メール送信、クラウド保存、管理画面へのURL書き戻しなどに連携できます。
どの方法を選ぶべきか
小さく試すならGoogle Docs / Sheets
まずは簡単な請求書や見積書を作りたいだけなら、Google Docs / Sheetsを使う方法でも十分です。
ただし、帳票数が増えたり、複数フォーマットを扱ったり、テンプレート変更を継続的に行う場合は、早めに限界が出やすくなります。
自由度を最優先するならPuppeteer / Gotenberg
HTML / CSSで細かく制御したい場合は、Puppeteer / Gotenbergが向いています。
ただし、PDF生成インフラの保守、日本語フォント、改ページ、バージョン差分への対応を自社で持つ必要があります。
HTML→PDFだけなら汎用PDF API
WebページやHTMLをPDF化するだけなら、汎用PDF APIでも対応できます。
一方で、請求書・見積書・契約書などの業務帳票を継続運用するなら、テンプレート管理や出力履歴まで考える必要があります。
業務帳票を継続運用するならRe:port Flow
n8nから帳票PDFを継続的に生成するなら、Re:port Flow公式ノードが向いています。
PDF生成インフラを持たずに、帳票テンプレート、差し込み、複数生成、後続連携までをn8nワークフローに組み込めます。
まとめ
n8nでPDF生成する方法は、大きく4つあります。
- Google Docs / Google Sheetsを使う
- Puppeteer / Gotenbergをセルフホストする
- 汎用PDF生成APIをHTTP Requestで呼ぶ
- Re:port Flow公式n8nコミュニティノードを使う
小規模なPDF化ならGoogle Docs / Sheetsでも十分です。自由度を求めるならPuppeteer / Gotenbergも選択肢になります。
ただし、請求書・見積書・納品書・報告書のような業務帳票をn8nで継続運用するなら、PDF生成部分はRe:port Flowに任せることで、インフラ保守やテンプレート管理の負担を減らせます。
まずは公式ノード n8n-nodes-reportflow を使って、フォーム送信やスプレッドシート更新からPDFを自動生成する小さなワークフローから試してみてください。