テンプレートやAPIからHTMLを取得しましたか?n8nでPDFに変換しましょう!必要なのはたった3つのノードだけで、ホスティングは不要です。

テンプレート、ウェブページ、またはAPIレスポンスから取得したHTMLデータがあり、それをPDFに変換する必要があります。手動でエクスポートしたり、Wordにコピーしたりする方法は、拡張性に欠けます。 n8n プラス PDF4me HTMLをPDFに変換する3つのノード:トリガー→アップロード→変換。サーバーもカスタムコードも不要。Base64 HTMLを貼り付け、URLをコンバーターにマッピングするだけで、 output.pdfダウンロード、メール送信、または保存する準備ができています。
要するに: 「ワークフローを実行」をクリックすると (トリガー)→ PDF4meにファイルをアップロード (Base64 HTML) → HTMLをPDFに変換する (アップロードされたドキュメントURLをマッピングします)。出力:ダウンロード、JSON、およびテーブルビューを備えたPDFバイナリ(例:29.2 kB)。
なぜこのワークフローを採用したのか? PDF4meの HTMLをPDFに変換する URL、バイナリ、またはBase64経由でHTMLを受け入れます。HTMLがn8n内で生成される場合(たとえば、コードノードまたはHTTPレスポンスから)、まず PDF4meにファイルをアップロード 一時的な ドキュメントURL次にそのURLを HTMLをPDFに変換するPDF4meノードが2つ。フローは1つ。
なぜ?という問いに対する質疑応答
変換前にアップロードする理由とは? ConvertノードはHTMLを期待します URL、 バイナリ、 または Base64HTMLが式または別のノードの出力(公開URLではない)から取得される場合は、まずそれをアップロードする必要があります。PDF4meは以下を返します。 ドキュメントURLコンバーターが取得できる一時的なリンク。
なぜURLではなくBase64を使うのか? Base64は、テンプレート、API、コードノードなど、n8n内部でHTMLを生成する場合に最適です。ファイルをどこかにホストする必要はありません。Base64文字列を貼り付け、保持期間(例:2時間)を設定すれば、アップロードノードが残りの処理を行います。
なぜ {{ $json.documentUrl }}? アップロードノードの出力 ドキュメントURL 各アイテムにおいて。Convertノードの HTML URL フィールドにはその値が必要です。式を使用してください。 {{ $json.documentUrl }} 前のステップから引き継ぐため。
ファイル保存時間を設定する理由とは? アップロードされたファイルは一時的に保存されます。 2 変換ステップが実行されるのに十分な時間、ファイルを利用可能な状態に保持します。ワークフローに遅延やループがある場合は、調整してください。
得られるもの
入力: Base64エンコードされたHTML(テンプレートやAPIなどから取得したもの)。 出力: PDF ファイル (例: output.pdfワークフロー出力には、スキーマ、テーブル、JSON、バイナリの各タブで表示できるファイル(約29.2 kB)とダウンロードボタンがあります。
必要なもの
- n8nセルフホストまたは n8nクラウドノードパネルからPDF4meノードを追加します。
- PDF4me APIキー、 APIキーを取得してくださいPDF4meノードを追加する際は接続してください。初めてですか? PDF4meをn8nに接続する。
- HTMLコンテンツこのワークフローではBase64形式を使用します。コードノードまたは外部ソースを使用して生成してください。
フローの概要
- 「ワークフローを実行」をクリックするとテスト用の手動トリガーです。自動化には、Webhook、スケジュール、またはファイルトリガーに置き換えてください。
- PDF4meにファイルをアップロード: Base64 HTMLをPDF4meに送信し、返します。
ドキュメントURL。 - HTMLをPDFに変換する: HTMLを取得します
ドキュメントURLPDFバイナリを出力します。
ワークフローの概要
![n8nワークフロー:[ワークフローの実行] → [PDF4meへのファイルのアップロード] → [HTMLからPDFへの変換]をクリックすると、各ノードに緑色のチェックマークが表示されます。](/assets/images/blog/html-to-pdf-n8n/flow-overview.png)
3つのノードが順番に並んでいます:手動トリガー → PDF4meへのファイルアップロード → HTMLからPDFへの変換。各接続では「1つのアイテム」が通過していることを示しています。緑色のチェックマークは、処理が正常に完了したことを示します。
ステップ1:ファイルをPDF4meにアップロードする
これまでのシナリオ: トリガーのみ。
- 追加 PDF4me → PDF4me リソース → PDF4meにファイルをアップロードする 手術。
- 接続するための認証情報PDF4meへの接続を選択してください。
- 入力データタイプ: Base64文字列。
- Base64ファイルの内容Base64エンコードされたHTMLを貼り付けてください。例:
PCFET0NUWVBFIGh0bWw+...(デコードすると)<!DOCTYPE html>) - ファイル保存時間例: 2 (次のステップのためにファイルを保持します。)
- クリック 実行ステップ テストします。出力には以下が含まれます。
ドキュメントURL。
PDF4meへのファイルアップロード:パラメータパネル

パラメーター タブ: 認証情報 (PDF4me 接続)、リソース (PDF4me)、操作 (PDF4me へのファイルのアップロード)、入力データ タイプ (Base64 文字列)、HTML を含む Base64 ファイル コンテンツ フィールド、およびファイル保持時間 (2 時間)。
ヒント: HTMLが別のノード(コードやHTTPリクエストなど)から取得される場合は、次のような式を使用します。 {{ $json.base64Content }} 貼り付けるのではなく、値が正しくBase64形式であることを確認してください。
ステップ2:HTMLをPDFに変換する
これまでのシナリオ: トリガー → PDF4meにファイルをアップロードします。
- 追加 PDF4me → 変換する リソース → HTMLをPDFに変換する 手術。
- 接続するための認証情報: 同じPDF4me接続です。
- 入力データタイプ: URL。
- HTML URL: 切り替える 表現 そして入る
{{ $json.documentUrl }}これは、アップロード手順からのURLをマッピングします。 - HTMLファイル名例:
document.html。 - インデックスファイルパス例:
index.html(複数ファイルからなるHTMLプロジェクトの場合) - レイアウト: 肖像画 (または横向き)
- 形式: A4。
- 規模:
0.8(100% = 1.0) - 上、下、左、右の余白例:
40ピクセルそれぞれ。 - プリント背景: オフ(背景が必要な場合はオン)。
- ヘッダーとフッターを表示: オフ(ページ番号表示の場合はオン)。
- 出力ファイル名例:
output.pdf。 - バイナリデータ出力名:
データ(PDFバイナリ用のフィールド) - クリック 実行ステップ出力には、ファイル名、ファイル拡張子、MIMEタイプ、ファイルサイズ、およびダウンロードボタンを含むPDFファイルが表示されます。
HTMLをPDFに変換する:パラメータとレイアウト設定

パラメータタブ:入力データタイプ(URL)、HTML URL式、HTMLファイル名(document.html)、インデックスファイルパス(index.html)、レイアウト(縦向き)、フォーマット(A4)、スケール(0.8)、余白(40px)、出力ファイル名(output.pdf)、バイナリデータ出力名(data)。
HTMLをPDFに変換する:アップロードステップからのdocumentUrlのマッピング

入力セクションが展開されました: "Upload file to PDF4me" からの documentUrl が HTML URL フィールドに渡され、式は Upload ノードによって返される一時的な URL をマッピングします。
ステップ3:出力を確認する
Convertノードの出力パネルには以下が表示されます。
| 分野 | 価値 |
|---|---|
| ファイル名 | output.pdf |
| ファイル拡張子 | |
| MIMEタイプ | アプリケーション/PDF |
| ファイルサイズ | 29.2 kB(例) |
使用 スキーマ、 テーブル、 JSON、 または バイナリ 検査するタブ。 ダウンロード このボタンをクリックすると、PDFがローカルに保存されます。
出力:ダウンロード可能なPDFファイルが生成されました。

出力パネル:ファイル名(output.pdf)、ファイル拡張子(pdf)、MIMEタイプ(application/pdf)、ファイルサイズ(29.2 kB)、およびダウンロードボタンを含む項目が1つ表示されます。生成されたPDFを表示するには、バイナリタブが選択されています。
ユースケース:n8nでHTMLからPDFへの変換を使用するタイミング
請求書および提案書の作成: CRMやデータベースデータ(Airtable、Google Sheetsなど)からHTMLを生成します。PDFに変換してメールで送信したり、クラウドストレージにアップロードしたりできます。同じテンプレートで、動的なデータを使用できます。
AIによる分析結果を活用したレポート生成: AIノードを使用してコンテンツを生成し、HTML形式にフォーマットした後、関係者向けにPDFに変換します。週刊ダイジェスト、要約、分析レポートなどに最適です。
証明書とバッジ: 研修データやイベントデータからHTML形式の証明書を作成します。PDF形式に変換してメールで送信したり、文書管理システムに保存したりできます。
文書のアーカイブとメールからPDFへの変換: HTMLメールやウェブコンテンツを解析し、PDFに変換して、Dropbox、Google Drive、またはコンプライアンスシステムにアーカイブします。
入社手続きおよびコンプライアンス関連文書: テンプレートとユーザーデータから、パーソナライズされたオンボーディング用PDFを生成します。ハンドブック、ポリシー、コンプライアンス文書の作成を自動化します。
クイックリファレンス:キー設定
| ノード | 設定 | 例 |
|---|---|---|
| 1. PDF4meにファイルをアップロードします | 入力データタイプ | Base64文字列 |
| 1. PDF4meにファイルをアップロードします | ファイル保存時間 | 2 |
| 2. HTMLをPDFに変換する | HTML URL | {{ $json.documentUrl }} |
| 2. HTMLをPDFに変換する | 出力ファイル名 | output.pdf |
パラメータの詳細については、以下を参照してください。 HTMLをPDFに変換する、n8n。
トラブルシューティング
アップロードノードが変換の前に実行されることを確認し、 {{ $json.documentUrl }} (または {{ $('Upload file to PDF4me').item.json.documentUrl }} (複数のノードがある場合)式は出力を行うノードを参照する必要があります ドキュメントURL。
Base64 文字列が有効であり、データ URI プレフィックス (例: データ:text/html;base64、コードノードを使用する場合は、 Buffer.from(html).toString('base64') または同等の方法で、クリーンなBase64を生成します。
PDF4meのトラブルシューティング 401 (APIキー)、402 (クレジット) などに対応しています。
次は?
- 手動トリガーを Webhook または スケジュール フローを自動的に実行する。
- 追加する ファイルをアップロードする 変換後にノード(Dropbox、Google Drive)を使用して、PDFをクラウドストレージに保存します。
- 使用 HTMLコード または バイナリデータ HTMLが別のソースから来ている場合は、入力データタイプとして以下を参照してください。 HTMLをPDFに変換する、n8n すべてのオプションについて。