IRONSOFTWAREHOME

JavaでPDFフォームに入力する方法(チュートリアル)

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

IronPDF は、Java 開発者が既存の PDF をロードし、getForm() でフォームフィールドにアクセスし、setFieldValue() で値を設定し、記入済みのドキュメントを保存することによってプログラム的にPDFフォームを記入できるようにします。 これにより、ビジネスアプリケーションでのドキュメント処理の自動化が容易になります。

クイックスタート: Java で PDF フォームに入力する
//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/quickstart.java
// 1.MavenプロジェクトにIronPDF依存関係を追加する。
// 2.PDFフォームの読み込み
PdfDocument form = PdfDocument.fromFile("form.pdf");
// フォームフィールドの入力
form.getForm().setFieldValue("firstname", "John");
// 4.記入したPDFを保存する
form.saveAs(Paths.get("filled_form.pdf"));
Text

この記事では、Javaでプログラム的にPDFフォームを埋める方法を説明します。 一般的なシナリオとして、アプリケーションがUIを通してユーザーデータを収集し、アーカイブ、コンプライアンス、または下流の処理のためにPDF形式でそれを保持する必要がある場合です。

ユーザー入力が取得された後に、アプリケーションはそのデータを事前に設定されたPDFテンプレートに直接注入する必要があります。 複数 for Java PDFライブラリでは、Apache PDFBoxやiText、IronPDFなどがこのタスクを処理します。 このガイドでは、IronPDFを使用し、テキストフィールド、チェックボックス、ラジオボタン、ドロップダウンリストのあるインタラクティブなフォームを入力する方法を説明します。 関連するドキュメントワークフローを構築する開発者のために、JavaでのPDFフォームを一から作成するガイドをご覧ください。

Java版IronPDFとは

IronPDFはPDFドキュメントの作成、編集、および操作のためのJava PDFライブラリです。 これはMavenベース for Javaプロジェクトに統合され、共通のPDFタスクを最小限のボイラープレートで実現できるクリーンなAPIを提供します。

ライブラリは、HTMLをPDFにレンダリングすること、フォームデータの読みと書き、デジタル署名の追加、セキュリティ設定の適用、ドキュメントの圧縮、印刷という、フルPDFライフサイクルを網羅しています。 特にフォームに取り組む場合、IronPDFはPDFドキュメント内のすべてのフィールドタイプにプログラム的にアクセスし、元の書式を保持することができます。 これにより、バッチフォーム処理や、データベース記録でのテンプレートの事前入力、またはより大きなJavaワークフローへのフォーム記入を組み込むのに適しています。 IronPDF Java APIリファレンスには、利用可能なクラスとメソッドの完全なリストがあります。

MavenプロジェクトにIronPDFをインストールするにはどうすればよいですか?

IronPDF for Java をインストールするために、pom.xml ファイルに次の依存性ブロックを追加してください。

pom.xml を開き、依存性を <dependencies> 要素内に挿入した後で mvn install を実行してライブラリをダウンロードします。 利用可能なバージョンはMaven Centralに一覧表示されています。

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/maven-dependency.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
XML

インストール後の Java クラスでは、com.ironsoftware.ironpdf.PdfDocument と com.ironsoftware.ironpdf.render.ChromePdfRenderOptions をインポートして、フォーム記入 API にアクセスします。 クラウドプラットフォームでのデプロイガイダンスについては、AWS、Azure、およびGoogle Cloudのガイドをご覧ください。

ヒント: Docker またはコンテナ化された環境で IronPDF を使用する際には、最初の PdfDocument 呼び出しの前に IronPdf.licenseKey システムプロパティを設定して、実行時にライセンス検証の遅延を避けます。

JavaでHTMLを使用してPDFフォームを作成および入力するにはどうすればよいですか?

常に構造化され、入力可能なPDFを生成する最も信頼性の高い方法は、HTMLでフォームを定義し、それをIronPDFでレンダリングすることです。 ライブラリは HTML の <input> 要素を直接インタラクティブなPDFフォームフィールドに変換します。

以下のコードは、HTML文字列から二つのフィールドのPDFフォームを作成し、両方のフィールドを入力します:

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/create-and-fill-form.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import java.io.IOException;
import java.nio.file.Paths;

public class App {

    public static void main(String[] args) throws IOException {

        // Define an HTML form with two text input fields
        String formHTML = "<html>"
            + "<body>"
            + "<h2>Editable PDF Form</h2>"
            + "<form>"
            + "First name: <br><input type='text' name='firstname' value=''><br>"
            + "Last name: <br><input type='text' name='lastname' value=''>"
            + "</form>"
            + "</body>"
            + "</html>";

        // Enable HTML-to-form-field conversion during rendering
        ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
        renderOptions.setCreatePdfFormsFromHtml(true);

        // Render HTML to PDF and save the blank template
        PdfDocument.renderHtmlAsPdf(formHTML, renderOptions)
            .saveAs(Paths.get("assets/BasicForm.pdf"));

        // Load the template and fill in field values
        PdfDocument form = PdfDocument.fromFile(Paths.get("assets/BasicForm.pdf"));
        form.getForm().setFieldValue("firstname", "Minnie");
        form.getForm().setFieldValue("lastname", "Mouse");

        // Save the completed form to a new file
        form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
    }
}
Java

最初のブロックは HTML の <input> 要素を静的テキストではなくライブ PDF フォームフィールドとして扱うように setCreatePdfFormsFromHtml(true) と ChromePdfRenderOptions を使用してレンダリングエンジンに指示します。 レンダリングされたPDFは再利用可能なテンプレートとして保存されます。 2番目のブロックは、そのテンプレートをロードし、各フィールドに名前で getForm().setFieldValue() を呼び出し、結果を書き込むための別の出力ファイルに書き込み、将来の使用のために元のテンプレートをそのまま残します。

出力はどのように見えますか?

最初のレンダリングで作成されたPDFには、どのPDFリーダーでも編集可能な空白のテキストフィールドが二つあります。

IronPDFがHTMLからレンダリングしたシンプルなPDFフォームで、青い縁取りのボックス内に編集可能な名前と姓のテキスト入力フィールドを表示

setFieldValue() が実行されると、両方のフィールドが供給されたデータで埋められます:

IronPDF Java の出力: 名フィールドに「Minnie」、姓フィールドに「Mouse」が入力された PDF フォーム。フォームデータが正常に入力されたことを示す

作成していない既存のPDFフォームを入力するにはどうすればよいですか?

多くの実際のワークフローでは、すでに名前付きフィールドを含むサードパーティのPDFテンプレート(政府のフォーム、保険の書類、ベンダー契約書など)を受け取ります。 これらをロードして記入するプロセスは同じです:PdfDocument.fromFile() を使用してドキュメントをロードし、その後 getForm().setFieldValue() を使用して各フィールドをその名前で設定します。

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/fill-existing-form.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;

public class FillExistingForm {

    public static void main(String[] args) throws IOException {

        // Load a third-party fillable PDF
        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/application.pdf"));

        // Set text field values by field name
        form.getForm().setFieldValue("applicant_name", "Jane Smith");
        form.getForm().setFieldValue("date_of_birth", "1985-06-14");
        form.getForm().setFieldValue("reference_number", "REF-2024-00421");

        // Save the completed application
        form.saveAs(Paths.get("output/application_filled.pdf"));
    }
}
Java

既存のPDFでフィールド名を確認するには、Adobe Acrobat Readerでドキュメントを開き、任意のフィールドを右クリックして、"プロパティ"を選択してください。 フィールド名は"一般"タブに表示されます。 または、プログラム的にすべてのフィールドを繰り返して表示します:

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/list-form-fields.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.form.FormField;
import java.nio.file.Paths;

public class ListFormFields {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/application.pdf"));

        // Print the name and type of every form field
        for (FormField field : form.getForm().getFields()) {
            System.out.println("Field: " + field.getName()
                + " | Type: " + field.getType());
        }
    }
}
Java

データを書く前にフィールド名を印刷することは、setFieldValue() が一致しない名前で黙って失敗するのを防ぎます。 PDF ドキュメント内のフィールド名は大文字小文字を区別するため、"firstname" と "FirstName" は異なるフィールドとして扱われます。

ご注意: IronPDF の getForm().getFields() は FormField オブジェクトのリストを返します。 各オブジェクトは getType()、および getValue() を公開しています。 これらは、データベースやCSVファイルなどの外部データソースからフィールド名を読み取る動的なフォーム入力ルーチンを構築する際に便利です。)]

Javaでチェックボックスとラジオボタンを入力するにはどうすればよいですか?

テキストフィールドは文字列値を直接受け入れますが、チェックボックスおよびラジオボタンは、PDF が作成時に定義した特定のエクスポート値を必要とします。setFieldValue() を使用して、各フィールドに正しいエクスポート値文字列を渡します。

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/fill-checkboxes-radio.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths;

public class FillCheckboxesAndRadio {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/survey.pdf"));

        // Check a checkbox by setting its exported value (often "Yes" or "On")
        form.getForm().setFieldValue("agree_terms", "Yes");

        // Select a radio button option by its exported value
        form.getForm().setFieldValue("preferred_contact", "email");

        form.saveAs(Paths.get("output/survey_filled.pdf"));
    }
}
Java

チェックボックスのエクスポート値は通常 "On"、またはフォーム作成者によって設定されたカスタム文字列です。 ラジオボタングループの場合、グループ内の各オプションは同じフィールド名を共有しますが、ユニークなエクスポート値を持っています。 前のセクションで述べたフィールドリスティング手法を利用して、書き込みする前に正確なエクスポート値を確認してください。

重要: setFieldValue() がチェックボックスをチェックしたりラジオボタンを選択したりしない場合、エクスポート値文字列が間違っている可能性があります。 フィールドを getFields() でリストし、PDF を手動でチェックしたコピーに対する getValue() を検査して、正しい文字列を取得してください。

JavaでPDFフォームにドロップダウンリストを入力するにはどうすればよいですか?

ドロップダウンリストフィールド(コンボボックスフィールドとも呼ばれる)は、テキストフィールドと同じAPIを使用します。 オプションのエクスポート値を文字列として setFieldValue() に渡します。 エクスポート値は通常は見えるオプションテキストですが、フォーム作成者が別の基礎となる値を定義している場合があります。

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/fill-dropdown.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths;

public class FillDropdown {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/registration.pdf"));

        // Set a dropdown/combo box field to a specific option
        form.getForm().setFieldValue("country", "United States");

        // Set a list box field (multi-select may require comma-separated values)
        form.getForm().setFieldValue("subscription_tier", "Professional");

        form.saveAs(Paths.get("output/registration_filled.pdf"));
    }
}
Java

ドロップダウンのエクスポート値が可視ラベルと異なる場合は、getFields() を使用してフィールドの利用可能なオプションを検査します。 フィールドの定義で任意のオプションと一致しない値を渡すと、選択は変更されず、例外はスローされないので、バッチ実行の前にエクスポート値を検証することでデータ損失を防ぎます。

ヒント: コンボボックスの利用可能なオプションをすべて検査するには、FormField を FormComboBoxField にキャストし、getOptions() を呼び出します。 これにより、そのドロップダウンの有効なエクスポート値のリストが返されます。)]

Javaで入力されたPDFフォームをフラット化するにはどうすればよいですか?

フラット化はすべてのフォームフィールドを静的で編集不可能なコンテンツに変換します。 これにより受信者が送信データを変更することを防ぎ、多くのアーカイブおよびコンプライアンス使用事例で必要とされます。 IronPDFはそのPDF操作機能の一部としてフォームのフラット化をサポートしています。

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/flatten-form.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths;

public class FlattenForm {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("assets/BasicForm_Filled.pdf"));

        // Flatten all form fields -- values become static text
        form.getForm().flatten();

        form.saveAs(Paths.get("output/BasicForm_Archived.pdf"));
    }
}
Java

flatten() が実行された後、出力PDFにはインタラクティブなフォームフィールドは残りません。 ドキュメントサイズは通常減少し、フォームフィールドオーバーレイレイヤーが取り除かれます。 フラット化されたPDFは、送信された値の編集リスクなしに配布するのに安全です。

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

IronPDFは、JavaでPDFフォームを入力するための集中した、ボイラープレートの少ないAPIを提供します。 getForm() メソッドはテキストフィールド、チェックボックス、ラジオボタン、ドロップダウンリストへの直接アクセスを提供します。 アーカイブが必要な場合、flatten() はすべての記入されたデータを静的コンテンツとしてロックします。

PDFドキュメントワークフローの次のステージのために、これらのガイドを調査してください:

IronPDF for Javaの無料トライアルを開始し、自分のプロジェクトでフォーム入力をテストしてください。 デプロイの準備ができたら、IronPDFライセンスオプションを表示して、チームのニーズに合ったプランを見つけてください。

よくある質問

JavaでPDFフォームに入力する基本的な手順は?

IronPDF Maven依存関係を追加し、PdfDocument.fromFile()でPDFを読み込み、getForm()を使ってフォームフィールドにアクセスし、各フィールドに対してsetFieldValue(fieldName, value)を呼び出し、saveAs()で結果を保存します。

既存のPDFでフィールド名を発見するにはどうすればよいですか?

Adobe Acrobat ReaderでPDFを開き、任意のフィールドを右クリックしてプロパティを選択します。フィールド名は[一般]タブに表示されます。または、getForm().getFields()を呼び出してすべてのフィールドを反復処理し、それぞれのgetName()とgetType()をプログラムで印刷できます。

Javaでチェックボックスやラジオボタンを埋めるにはどうすればよいですか?

フィールドのエクスポート値文字列を使ってsetFieldValue()を使用します。チェックボックスのエクスポート値は通常YesまたはOnです。ラジオボタングループの場合、各オプションは同じフィールド名を持ちますが、ユニークなエクスポート値を持ちます。フィールドが応答しない場合は、手動でチェックされたPDFのコピーでgetValue()を調べ、正しい文字列を見つけてください。

ドロップダウンリストフィールドを記入するにはどうすればよいですか?

オプションのエクスポート値を使ってsetFieldValue(fieldName, optionValue)を呼び出します。エクスポート値は通常、視覚的なオプションテキストです。プログラムで利用可能なオプションをリストするには、FormFieldをFormComboBoxFieldにキャストし、getOptions()を呼び出してください。

PDFフォームのフラット化は何をしますか?

フラット化はすべてのインタラクティブフィールドを静的な編集不可のコンテンツに変換します。保存する前にgetForm().flatten()を呼び出します。結果のPDFは受取人によって編集できず、多くのアーカイバルとコンプライアンスワークフローに必要です。

他のツールで作成されたフォームをIronPDFで記入できますか?

はい。PdfDocument.fromFile()は作成方法に関係なく標準的な記入可能なPDFをロードします。フィールド名は大文字と小文字が区別され、フォーム作成者によって異なるため、setFieldValue()を呼び出す前にgetForm().getFields()を使用してフィールド名を確認してください。

How can I fill dropdown lists in a PDF form using IronPDF?

Use setFieldValue() to assign the dropdown option's export value. The exact export value should match the option's defined value in the PDF form, with FormComboBoxField.getOptions() providing the list of valid values.

How do I flatten a filled PDF form using IronPDF?

Flattening a filled PDF form with IronPDF can be done by calling form.getForm().flatten() on the PdfDocument, which converts form fields into static text, preventing further editing.

What are some additional features of IronPDF for Java?

Beyond form filling, IronPDF features include rendering HTML to PDF, manipulating PDF security settings, applying digital signatures, and allowing programmatic access to various PDF document elements.

How can I find more resources to further explore IronPDF capabilities?

Explore the [IronPDF Java API reference](https://ironpdf.com/java/object-reference/api/) for detailed documentation, and additional guides on creating forms from HTML, HTML to PDF conversion, and PDF security and digital signing.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

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

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project

Key in blue circle

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

Your trial license will be sent to your email address

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

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

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

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project