How to Create PDF Forms in Java

by Mehr Muhammad Hamza

If your business spends too much on annual PDF form creation and customization tools, IronPDF for Java provides a powerful solution. With it, you can create dynamic, interactive PDF forms that accept user input, enable selection, and even save changes. Whether you're creating text inputs, checkboxes, or more advanced form fields, this guide will show you how to get started.

Create Forms

IronPDF lets you create PDF forms from HTML, meaning you can leverage the full power of HTML, CSS, and JavaScript. This flexibility allows you to embed form fields and other elements into PDFs easily. Let’s dive into how you can implement these features with Java.

Text Input and TextArea Forms

Using IronPDF, you can quickly create input and textarea elements within your PDF by rendering an HTML string. Since it supports HTML, you can apply CSS for styling and, depending on your environment, potentially use JavaScript for additional behavior.

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

String htmlContent = """
<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=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
""";

PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);
pdfDoc.saveAs("textAreaAndInputForm.pdf");
JAVA

With the text form field HTML, use the renderHtmlAsPdf method of the PdfDocument class to convert it into a PDF document. The resulting PDF is saved to a file. This example demonstrates how to embed and customize HTML forms within a PDF document using IronPDF, allowing for rich, interactive forms directly in the PDF format.

Output PDF Document:


Checkbox and Combobox Forms

Checkbox and combobox forms can also be generated by rendering an HTML string, file, or web URL that includes these elements. To enable their creation, set the CreatePdfFormsFromHtml property to true.

Combobox forms allow users to select from a dropdown menu of options, providing a convenient way to capture input directly within the PDF document.

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h2>Task Completed</h2>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>
        <h2>Select Priority</h2>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium'>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
""";

PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
JAVA

Output PDF Document:


Radio buttons Forms

In IronPDF, radio buttons within the same group are part of a single form object. You can access all form field by using the getForm method followed by the getFields method. If a radio button is selected, the form’s Value property will reflect that choice; if none are selected, the value will be set to 'None'.

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'>
        Bike <br>
        <input type='radio' name='traveltype' value='Car'>
        Car <br>
        <input type='radio' name='traveltype' value='Airplane'>
        Airplane
    </body>
</html>
""";

PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);
pdfDoc.saveAs("radioButtomForm.pdf");
JAVA

Output PDF Document: