IRONSOFTWAREHOME

Node.jsでPDFフォームフィールドを埋める方法

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

Node.jsでのPDFフォームをプログラム的に埋めることにより、ドキュメントワークフローを自動化できます:データベースレコードで申請書を埋めるから、大量の個人化された証明書を生成するまで。 IronPDF for Node.js はJavaScript環境を離れることなく、既存のPDFをロードし、フォームフィールドに値を書き込み、完成した文書を保存するための簡単なAPIを提供します。

このガイドは、パッケージのインストール、ライセンスキーの適用、テキストフィールド、チェックボックス、ドロップダウン、ラジオボタンの記入、値をロックするためのフォームフィールドのフラット化、出力の保存という完全なワークフローをカバーします。 すべてのコード例は、@ironsoftware/ironpdfパッケージを使用しています。

クイックスタート: Node.jsで PDF フォームに入力する

パッケージをインストールし、以下の数行でフォームをロードして埋めます:

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/install.sh
npm install @ironsoftware/ironpdf
SHELL
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = "YOUR-LICENSE-KEY-HERE";

(async () => {
    const pdf = await PdfDocument.fromFile("./form.pdf");
    await pdf.setFormFieldValue("firstName", "Jane");
    await pdf.setFormFieldValue("email", "jane@example.com");
    await pdf.saveAs("./filled-form.pdf");
})();
JavaScript

Node.jsでPDFフォームを埋めるにはどのような前提条件が必要ですか?

以下のコード例を実行する前に、三つのことが整っていることを確認してください: サポートされるNode.jsバージョン、IronPDFのライセンスキー、およびIronPdfEngineバイナリ。

Node.jsバージョン:IronPDFはNode.js 18以降が必要です。 現在のLTSリリースは公式 for Node.jsウェブサイトからダウンロードできます。 ライブラリはすべてのPDF操作にNode.js非同期I/Oを使用するため、awaitまたはプロミスチェインが全体の標準パターンです。 パッケージはネイティブESMとasync_hooks機能に依存しているため、Node.jsの古いバージョンはサポートされません。Node.js 18+が必要です。

ライセンスキー:アクティブなIronPDFライセンスキーで完全なAPIを利用できます。 無料トライアルを開始して開発とテストにキーを取得するか、生産利用のためにライセンスの購入を行ってください。 展開オプション(環境変数、構成ファイル、シークレットマネージャー)については、ライセンスキーの使用ガイドを参照してください。

IronPdfEngine: Node.jsパッケージには、IronPdfEngine、実際のPDF操作を処理するクロスプラットフォームのレンダリングエンジンが含まれています。 セットアップとプラットフォーム固有のメモ(Windows、Linux、macOS)がIronPdfEngineの使用ドキュメントにあります。

Node.jsコードでライセンスキーを設定するにはどうすればいいですか?

アプリケーション起動時にライセンスキーを一度適用し、任意のPdfDocument呼び出しの前に:

const { IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

// Apply once at startup -- before any PdfDocument operations
IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;
JavaScript

process.env.IRONPDF_LICENSE_KEYを使用して示されるように、環境変数にキーを保存することで、ソース管理から資格情報を守ります。 開始ガイドの概要は、異なる展開環境のための追加の初期化パターンをカバーしています。


どのようにIronPDF for Node.jsをインストールしますか?

Node.js用のIronPDFのインストールには1つのnpmコマンドで済みます。 プロジェクトディレクトリで実行してください:

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/install-full.sh
npm install @ironsoftware/ironpdf
SHELL

パッケージはTypeScriptの型宣言を同梱しているため、TypeScriptプロジェクトでは@typesパッケージなしでフルインテリセンスサポートを得ることができます。 Windows、Linux、およびmacOS向けのプラットフォーム固有のバイナリは、インストール時に自動的にダウンロードされます。 npmでの@Iron Software/ironpdf パッケージにはすべての公開済みバージョンとピア依存関係が記載されています。

TypeScriptプロジェクトでは、同梱されている.d.ts宣言により、VS CodeやTypeScript言語サービスをサポートする他のエディターでインテリセンスがすぐに機能します。

既存のモノレポやDockerベースのワークフローにIronPDFを追加する手順についてはNode.js用IronPDFのドキュメントをご覧ください。


プログラムで PDF フォームを埋めるにはどうすればよいですか?

PDFをロードし、そのフォームフィールドに値を書き込むためには、3つの非同期呼び出しが必要です: saveAs()。 以下の例は多くのフィールドからなる申請フォームを記入し、必要に応じてフラット化して、配布後に値が変更されないようにします。

完全なフォーム記入の例はどのように見えますか?

以下の例は、いくつかのフィールドタイプを持つPDFをロードし、それらを記入して結果を保存するものです。 記入ではなくフォームそのものを作成することに焦点を当てた詳細な例をご覧になるにはPDF Formsの例ページをご覧ください。

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/fill-pdf-form.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function fillApplicationForm() {
    // Load the PDF containing form fields
    const pdf = await PdfDocument.fromFile("./forms/application-form.pdf");

    // Discover available field names before filling
    const fieldNames = await pdf.getFormFieldNames();
    console.log("Form fields:", fieldNames);

    // Text fields
    await pdf.setFormFieldValue("firstName", "Jane");
    await pdf.setFormFieldValue("lastName", "Doe");
    await pdf.setFormFieldValue("email", "jane.doe@example.com");
    await pdf.setFormFieldValue("phone", "+1-555-987-6543");

    // Date field
    await pdf.setFormFieldValue("dateOfBirth", "03/22/1988");

    // チェックボックス fields -- pass "true" or "false" as strings
    await pdf.setFormFieldValue("agreeToTerms", "true");
    await pdf.setFormFieldValue("subscribeNewsletter", "false");

    // Dropdown / select field
    await pdf.setFormFieldValue("country", "United States");

    // Multi-line text area
    await pdf.setFormFieldValue("comments", "Application submitted via automated workflow.");

    // Flatten the form to lock values -- prevents further editing
    // await pdf.flattenAllFormFields();

    await pdf.saveAs("./output/filled-application.pdf");
    console.log("Form saved.");
}

fillApplicationForm().catch(console.error);
JavaScript

getFormFieldNames()を呼び出した後、PDF作成者が使用したフィールド名を教えてくれる返却された配列です。 これは、作成されていないフォームとの統合時にフィールド名のタイプミスを避けるための最速の方法です。

開発中に一度getFormFieldNames()を呼び出して、PDFの中の正確なフィールド名を印刷します。 間違った名前をハードコーディングすることは、setFormFieldValue()後にフィールドが空のまま表示される最も一般的な原因です。


さまざまなフォームフィールドタイプをどのように扱いますか?

IronPDFは標準的なAcroFormフィールドタイプをサポートしています:テキストボックス、チェックボックス、ラジオボタン、ドロップダウン、リストボックス、および署名フィールド。 setFormFieldValue()メソッドは、すべての型の文字列値を受け入れます。チェックボックスおよびラジオフィールドの場合、受け入れる値はPDF内の特定のフィールド定義に依存します。

以下のテーブルは、各フィールドタイプに対する値の形式を示しています:

PDF AcroForm フィールドタイプとその受け入れ可能な値の形式
フィールドタイプ値の形式翻訳例
テキスト / 複数行任意の文字列"Jane Doe"
チェックボックス"true" または "false""true"
ラジオボタンオプションのエクスポート値"女性"
ドロップダウン(コンボ)オプションの表示テキスト"アメリカ合衆国"
リストボックス(マルチセレクト)文字列の配列["Option1", "Option2"]
日付 / 数値文字列表現"2024-06-15"

チェックボックスとラジオボタンはどう機能しますか?

チェックボックスは"false"を受け入れてチェックを外します。 ラジオボタンは選択するオプションのエクスポート値を受け入れます -- エクスポートされた文字列は通常PDFのフィールドプロパティで表示されるもので、表示ラベルとは異なります。

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/field-types.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function handleFieldTypes() {
    const pdf = await PdfDocument.fromFile("./forms/complex-form.pdf");

    // Radio button -- use the field's export value, not its display label
    await pdf.setFormFieldValue("gender", "Female");

    // チェックボックス
    await pdf.setFormFieldValue("termsAccepted", "true");

    // Dropdown
    await pdf.setFormFieldValue("preferredContact", "Email");

    // Numeric field -- pass the number as a string
    await pdf.setFormFieldValue("invoiceAmount", "1250.00");

    // Date picker
    await pdf.setFormFieldValue("appointmentDate", "2024-06-15");

    await pdf.saveAs("./output/complex-form-filled.pdf");
}

handleFieldTypes().catch(console.error);
JavaScript

マルチセレクトリストボックスフィールドは同じパターンに従います。 フィールドが複数の選択を許可する場合は、1つの値ではなく文字列の配列を渡します。 署名フィールドは署名グラフィックを表すbase64エンコードされた画像文字列を受け取ることができます。

getFormFieldNames()を使用してください。


PDFフォームフィールドを記入した後にフラット化するにはどうすればいいですか?

PDFフォームのフラット化は、すべてのフィールド値を静的なページコンテンツに結合し、対話的層を除去します。 結果として生じる文書はもはや編集できず、配布中の誤った変更を防ぎ、すべてのPDFビューアで一貫したレンダリングを保証します。

すべてのフィールド値を設定した後、ドキュメントを保存する前にロードされたドキュメントにflattenAllFormFields()を呼び出します。

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/flatten-form.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function fillAndFlattenForm() {
    const pdf = await PdfDocument.fromFile("./forms/contract.pdf");

    // Fill the required fields
    await pdf.setFormFieldValue("signerName", "Jane Doe");
    await pdf.setFormFieldValue("signatureDate", "2024-06-15");
    await pdf.setFormFieldValue("agreementAccepted", "true");

    // Flatten -- converts interactive fields to static content
    await pdf.flattenAllFormFields();

    await pdf.saveAs("./output/contract-signed.pdf");
    console.log("Contract flattened and saved.");
}

fillAndFlattenForm().catch(console.error);
JavaScript

フラット化は最終の配布に適しています -- 契約後の署名、発行後の証明書、承認後の請求書など。 最終化前にさらにレビューが必要な文書の場合、flattenAllFormFields()をスキップしてそれなしで保存します。

警告: フラット化は保存済みのコピー上で不可逆です。 文書を再生成する必要がある場合は、オリジナルで未記入のPDFをテンプレートとして保持してください。

PDFフォーム自動化の一般的なユースケースは何ですか?

自動化されたフォーム記入は、大量の文書ワークフローから手動データ入力を取り除きます。 次のシナリオは、開発者がIronPDFを使って実装する最も頻繁なパターンをカバーしています。

申請処理:応募者のデータをデータベースやREST APIから引き出し、金融サービス、保険、または政府の受付ワークフロー用にPDFフォームに入力します。 記入済みフォームを組み合わせて一つの複数ページの提出パケットを生成するためにPDFのマージ例を使用します。

請求書と領収書の生成:請求書テンプレートに商品ラインデータ、顧客詳細、および計算済み総額を入力します。 HTMLヘッダーとフッター例で示されているテクニックを使用してページヘッダーとフッターを追加します。

証明書および資格の生成:受取人名、完了日、コースタイトルなどで証明書テンプレートをパーソナライズします。 発行後の改ざんを防ぐためにデジタル署名例を使用してセキュリティを追加します。 PDF/A標準は、規制された業界での証明書の長期アーカイブに一般的に必要とされています。

レポート生成:分析データやアンケート結果でレポートテンプレートを埋めます。 既存のフォームを記入するのではなく、ゼロからPDFレイアウトを構築する必要がある場合、HTMLからPDFのチュートリアルを参照してください。


Node.jsでのPDFフォーム入力の次のステップは何ですか?

このガイドでは、PDFの読み込み、テキストフィールド、チェックボックス、ドロップダウン、ラジオボタンの入力、値をロックするためのフォームのフラット化、完成したドキュメントの保存を示しました。 同じPdfDocumentインスタンスは、ファイルをリロードすることなくさらなる操作をサポートします--デジタル署名を追加したり、出力を圧縮したり、テキストを抽出します。

無料トライアルを開始してプロジェクトでIronPDFをテストするか、ライセンスオプションを確認して、導入に適したプランを見つけてください。

次に何ができるのかを見てみましょうか? Node.jsの完全なチュートリアルコレクションはこちらをチェックしてください:Node.jsでHTMLからPDFへ

よくある質問

Node.jsでPDFフォームに入力するには、どのような前提条件が必要ですか?

Node.js 18以上、IronPDFライセンスキー(無料トライアルあり)、およびIronPdfEngineバイナリが必要です。エンジンは@ironsoftware/ironpdfパッケージに同梱され、インストール時に自動的にダウンロードされます。

IronPDF for Node.jsのインストール方法は?

プロジェクトディレクトリでnpm install @ironsoftware/ironpdfを実行します。このコマンドは、Windows、Linux、macOS用のパッケージおよびプラットフォーム固有のバイナリをインストールします。TypeScript型宣言も含まれています。

PDFフォームのフィールド名を見つける方法は?

PDFをPdfDocument.fromFile()で読み込んだ後、await pdf.getFormFieldNames()を呼び出してください。このメソッドは、ドキュメント内のすべてのフィールド名の文字列を配列として返します。PDFのフィールド名は大文字と小文字が区別されるため、返された文字列を正確に使用してください。

チェックボックスとラジオボタンはどのような値の形式を受け入れますか?

チェックボックスはチェックを入れる場合に"true"という文字列を受け入れ、チェックを外す場合に"false"を受け入れます。ラジオボタンは対象のオプションのエクスポート値を文字列として受け入れます。getFormFieldNames()を使用し、PDFフィールドプロパティを確認して、正しいエクスポート値を見つけてください。

入力済みPDFフォームが編集されるのを防ぐ方法はありますか?

すべてのフィールド値を設定した後、saveAs()を実行する前にawait pdf.flattenAllFormFields()を呼び出してください。フラット化は、フィールド値を静的なページコンテンツに結合し、対話型フォームレイヤーを削除します。この操作は保存されたファイルに対して不可逆です。

IronPDF for Node.jsはTypeScriptと一緒に使用できますか?

はい。@ironsoftware/ironpdfパッケージにはTypeScript宣言(.d.tsファイル)が含まれているので、別途型パッケージをインストールしなくても、VS Codeや他のエディターで完全な型チェックとIntelliSenseを利用できます。

How can IronPDF be used for automated PDF form filling?

IronPDF can automate form filling by integrating with databases or APIs to populate PDFs with user data in workflows such as application processing, invoice generation, and certificate issuance.

What is the benefit of storing the IronPDF license key in an environment variable?

Storing the IronPDF license key in an environment variable helps to keep your credentials secure and out of source control, thus enhancing application security.

Can IronPDF handle multi-line text fields in PDF forms?

Yes, IronPDF can handle multi-line text fields by passing the desired text string to the `setFormFieldValue()` method. This is useful for extensive input like comments or descriptions.

What should I do if form fields appear empty after using IronPDF?

If form fields appear empty after using IronPDF, ensure the field names match exactly. Field names are case-sensitive, so use `pdf.getFormFieldNames()` to list and verify the actual field names.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

バージョン:2026.10リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
Node.js モジュールダウンロード for PDF
npmでインストール

バージョン: 2026.10

  1. ダウンロードしてNode.js 12+をインストール。
  2. 上記のコマンドをターミナルで実行します。

ライセンスは$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF for Node.js
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
あなたの詳細は常に守秘されます。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
世界中の数百万人のエンジニアから信頼されています。
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
Node.js モジュールダウンロード for PDF
npmでインストール

バージョン: 2026.10

  1. ダウンロードしてNode.js 12+をインストール。
  2. 上記のコマンドをターミナルで実行します。

ライセンスは$999から