Java를 사용하여 PDF 양식을 만드는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Java는 개발자가 동적이고 상호작용 가능한 PDF 양식을 만들기 위해 HTML을 PDF로 변환함으로써 텍스트 입력, 체크박스, 콤보박스, 라디오 버튼을 생성할 수 있게 합니다. HTML 우선 접근법은 표준 웹 기술을 사용하여 양식 레이아웃과 동작에 완전한 통제권을 주며, 독점 양식 API를 배울 필요가 없습니다. 기존 PDF 양식을 프로그래밍 방식으로 채우는 것도 IronPDF가 양식 필드를 모델링하는 방식을 이해한후 사용할 수 있습니다.

전통적인 Java PDF 라이브러리는 낮은 수준의 PDF 객체를 통해 양식 필드를 작성해야 합니다. IronPDF는 HTML과 CSS로 양식을 작성한 다음 레이더;로 對름해 상호작용하는 필드를 통합합니다. 결과는 Adobe Acrobat Reader 및 주요 PDF 뷰어와 호환됩니다.

빠른 시작: Java에서 PDF 양식 만들기

  1. Maven Central을 통해 프로젝트에 IronPDF for Java를 추가하세요.
  2. License.setLicenseKey()로 라이선스 키를 설정하세요
  3. 표준 양식 요소(<input>, <textarea>, <select>)를 포함하는 HTML 문자열 작성
  4. PdfDocument.renderHtmlAsPdf()을 호출하여 HTML을 PDF로 변환합니다.
  5. 결과 문서를 saveAs()로 저장하십시오.
//:path=/static-assets/ironpdf-java/howto/create-forms/quickstart-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set license key before any rendering call
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML form with a text field and submit button
String formHtml = "<h2>Registration Form</h2>" +
                  "<form>" +
                  "<label>Name: <input type='text' name='fullname' placeholder='Enter name'></label><br>" +
                  "<button type='submit'>Submit</button>" +
                  "</form>";

// Render HTML to PDF — form fields are preserved
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(formHtml);
pdf.saveAs("registration-form.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/quickstart-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set license key before any rendering call
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML form with a text field and submit button
String formHtml = "<h2>Registration Form</h2>" +
                  "<form>" +
                  "<label>Name: <input type='text' name='fullname' placeholder='Enter name'></label><br>" +
                  "<button type='submit'>Submit</button>" +
                  "</form>";

// Render HTML to PDF — form fields are preserved
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(formHtml);
pdf.saveAs("registration-form.pdf");
JAVA

Java에서 폼을 만드는 방법은 무엇인가요?

IronPDF는 W3C HTML 폼 사양을 진리의 원천으로 취급하여 HTML에서 PDF 양식을 생성합니다. 모든 표준 양식 요소(<input>, <textarea>, <select>, <checkbox>, <radio>)는 출력 PDF에서 상호작용 가능한 필드로 유지됩니다. 이러한 요소를 CSS로 스타일링하고 사용자 정의 글꼴을 포함하여 브랜드 요구 사항에 맞출 수 있습니다.

IronPDF 폼을 생성할 때 HTML 폼 요소의 상호작용성을 결과 PDF에도 그대로 유지합니다. 사용자는 추가 소프트웨어 없이 PDF 뷰어에서 직접 양식을 작성할 수 있습니다. 양식은 Adobe Acrobat Reader 및 일반적으로 배포된 모든 PDF 뷰어와 함께 작동하여 회사 및 소비자 환경 간의 접근성을 보장합니다. 고급 렌더링 옵션에 대한 자세한 내용은 PDF 생성 설정 문서를 참조하세요.

IronPDF는 실행 중인 브라우저나 설치된 PDF 인쇄 드라이버가 필요하지 않습니다. 렌더링 엔진이 라이브러리에 포함되어 있어 개발 머신, CI 서버 및 클라우드 배포 환경에서 양식이 동일하게 렌더링됩니다.

텍스트 입력 및 텍스트 영역 폼은 어떻게 만드나요?

텍스트 입력 및 텍스트 영역은 가장 흔한 PDF 양식 요소로, 이름, 이메일 주소, 코멘트 및 여러 줄 설명을 수집하는 데 유용합니다. IronPDF는 <input type="text">을 단일 행 PDF 텍스트 필드로, <textarea>을 행과 열의 크기를 유지하는 다중 행 필드로 매핑합니다.

HTML 폼 요소는 PDF로 변환될 때에도 기능이 유지됩니다. 사용자는 필드에 클릭하여 텍스트를 입력하고 Tab 키를 사용하여 웹 양식처럼 입력 간을 이동할 수 있습니다. 변환 과정에서 기본값, 자리 표시자 텍스트 및 required, pattern와 같은 HTML5 유효성 검사 속성은 그대로 유지됩니다. 세밀한 레이아웃 제어를 위해 양식 요소를 사용자 정의 용지 크기여백 설정과 결합할 수 있습니다.

//:path=/static-assets/ironpdf-java/howto/create-forms/text-input-textarea-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with single-line inputs and a multi-line textarea
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>
""";

// Render HTML — both <input> and <textarea> become interactive PDF fields
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("textAreaAndInputForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/text-input-textarea-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with single-line inputs and a multi-line textarea
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>
""";

// Render HTML — both <input> and <textarea> become interactive PDF fields
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("textAreaAndInputForm.pdf");
JAVA

renderHtmlAsPdf 클래스의 PdfDocument 호출은 HTML을 완전한 상호작용이 가능한 PDF로 변환합니다. 각 이름이 있는 양식 필드는 PDF의 AcroForm 사전에 있는 개별 필드로 변환되며 모든 표준 준수 PDF 뷰어에서 읽을 수 있습니다. name 속성에서 설정한 필드 이름(firstname, lastname, address)은 출력물에 그대로 유지되며, 나중에 양식 데이터를 추출할 때 다시 읽을 수 있습니다.

PDF 문서 출력:


체크박스와 콤보박스 폼은 어떻게 만드나요?

체크박스와 콤보박스는 PDF 양식에서 가장 흔히 사용되는 두 가지 선택 패턴, 즉 이진형(on/off) 선택과 목록에서 단일 항목 선택 기능을 다룹니다. IronPDF는 <input type="checkbox">을 PDF 체크박스 필드에, <select> 요소를 PDF 콤보박스(드롭다운) 필드에 매핑합니다.

콤보박스 필드를 사용하면 사용자가 <option> 요소로 정의된 고정된 옵션 목록에서 선택할 수 있습니다. selected 속성을 옵션에 추가하여 기본값을 미리 지정하고, <optgroup>를 사용하여 관련 선택 항목을 그룹화하며, CSS를 사용하여 드롭다운의 모양을 문서 디자인에 맞출 수 있습니다. name 요소의 <select> 속성은 결과 PDF에서 필드 이름이 되므로, 양식 데이터 추출이 간편해집니다. Apache PDFBox 프로젝트를 통해 PDF AcroForm 필드들이 그 선택 데이터를 어떻게 저장하는지에 대한 자세한 내용을 확인하여 다른 도구로 양식을 처리하는 경우를 대비하십시오.

//:path=/static-assets/ironpdf-java/howto/create-forms/checkbox-combobox-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

// Render HTML — checkbox and combobox fields are preserved in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/checkbox-combobox-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

// Render HTML — checkbox and combobox fields are preserved in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
JAVA

체크박스 필드는 제출된 양식을 처리할 때 후속 코드에서 읽을 수 있는 부울 상태(PDF 표기법에서 /On 또는 /Off)를 저장합니다. 콤보박스는 선택된 <option>value 속성을 저장합니다. 두 필드 유형은 저장된 PDF 내에서 상호작용이 가능합니다 - 사용자는 추가 플러그인이나 JavaScript 없이 상자의 체크를 하거나 드롭다운 선택을 변경할 수 있습니다.

PDF 문서 출력:


라디오 버튼 폼은 어떻게 만드나요?

라디오 버튼은 상호 배타적인 선택을 제공합니다: 사용자가 그룹에서 하나의 옵션을 선택하면 동일한 그룹 내에서 선택된 다른 옵션은 자동으로 취소됩니다. IronPDF는 <input type="radio"> 속성을 공유하는 name 요소를 PDF의 AcroForm 사전 내 단일 그룹화된 라디오 필드로 매핑합니다.

한 그룹에 속한 모든 라디오 버튼은 동일한 name 속성 값을 공유해야 합니다. 이것이 PDF에서 해당 버튼들을 연결하는 요소입니다. 각 버튼의 value 속성은 해당 옵션이 선택되었을 때 필드에 저장될 내용을 결정합니다. 그룹 내 버튼이 선택되지 않은 경우, 필드 값은 None입니다. 로드된 PdfDocument에서 getForm()getFields() 메서드를 사용하여 현재 선택 내용을 다시 읽을 수 있으며, 이를 통해 양식을 미리 채우거나 제출된 데이터를 검증하는 워크플로를 구축할 수 있습니다. 양식 필드를 읽는 워크드 예제는 PDF 양식 데이터 예제를 참조하십시오.

//:path=/static-assets/ironpdf-java/howto/create-forms/radio-button-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a radio button group — all three share name='traveltype'
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>
""";

// Render HTML — all three radio inputs become one grouped field in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("radioButtonForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/radio-button-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a radio button group — all three share name='traveltype'
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>
""";

// Render HTML — all three radio inputs become one grouped field in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("radioButtonForm.pdf");
JAVA

세 개의 <input type="radio"> 요소가 name="traveltype" 속성을 공유하므로, IronPDF는 출력 PDF에 단일 AcroForm 라디오 그룹을 생성합니다. 예를 들어, Acrobat Reader에서 "Car"를 선택하면 필드 값이 Car로 설정되고 이전 선택 내용이 지워집니다. 이 동작은 웹 양식의 라디오 버튼 그룹에서 사용자가 기대하는 것과 일치하며, 웹에서 PDF 데이터 수집으로의 전환을 자연스럽게 만듭니다.

참고해 주세요라디오 버튼 그룹 이름은 양식 전체에서 고유해야 합니다. 다른 논리적 그룹에 대해 동일한 이름을 다시 사용하는 것은 그들을 단일 필드로 병합하여 독립적인 선택을 방해합니다.

최고의 PDF 양식 만들기 모범 사례를 적용하려면?

신뢰할 수 있는 PDF 양식은 렌더링 구성과 장기 유지 관리 모두에 대한 주의가 필요합니다. 가장 흔한 문제는 브라우저에서는 정상적으로 표시되지만 변환 후 상호작용 기능이 상실되는 양식입니다. 이는 일반적으로 양식 요소에서 name 속성이 누락되어 발생합니다. 모든 필드에는 반드시 name을 할당하십시오; IronPDF는 이를 PDF 필드 식별자로 사용하며, 이름이 없는 필드는 누락되거나 병합될 수 있습니다.

배포 전에 여러 PDF 뷰어에서 양식을 테스트하세요. Adobe Acrobat Reader가 참조 구현이지만 많은 기업 환경에서는 Foxit Reader 또는 브라우저 기반 뷰어를 배포하며 모두 가장자리 케이스를 약간 다르게 처리합니다. IronPDF가 렌더링 시 지원하는 HTML5 유효성 검사 속성(required, minlength, pattern)을 사용하여, 백엔드 단계가 아닌 양식 작성 시점에 데이터 품질 문제를 포착하십시오. 민감한 문서의 경우 비밀번호 및 보안 설정을 적용하여 무단 편집으로부터 양식을 보호하세요.

프로덕션에 배포할 때 첫 번째 렌더링 호출 전에 라이선스 키를 설정하고 이를 하드 코딩하지 말고 안전한 구성 스토어에 보관하십시오. IronPDF는 AWS, Azure, Google Cloud 환경을 위한 배포 가이드를 게시합니다. 라이선스 키 가이드에서 체험 및 프로덕션 키 동작에 대한 세부 정보를 검토하십시오.

폼 필드 이름을 짧고 알파벳/숫자로 유지하세요. 일부 PDF 리더는 공백이나 특수 문자가 포함된 필드 이름을 잘라내거나 거부하여 양식 데이터 추출을 방해할 수 있습니다.

Java에서 PDF 양식을 만드는 다음 단계는 무엇입니까?

이 가이드는 텍스트 입력, 텍스트 영역, 체크 박스, 콤보 박스 및 라디오 버튼을 포함한 네 가지 기본 상호작용 양식 필드 유형을 다루었으며, IronPDF가 표준 HTML 양식 마크업을 완전히 상호작용하는 PDF로 변환하는 방법을 시연했습니다. 각 필드 유형은 HTML에 직접 매핑되므로 기존 웹 양식 템플릿을 최소한의 수정으로 재사용할 수 있습니다.

여기에서 탐색할 것을 고려해 보십시오:

  • 양식 데이터 읽기 및 처리: getForm()getFields()을 사용하여 작성된 PDF에서 제출된 값을 추출합니다. 양식 데이터 예제는 전체 읽기 워크플로를 보여줍니다.
  • 프로그래밍 방식으로 양식 사전 채우기: PDF 양식 채우기 가이드와 양식 생성을 결합하여 각 수신자를 위한 사전 채워진 문서를 생성하세요.
  • 양식 보안: 보안 및 메타데이터 설정 예제를 사용하여 비밀번호 보호 및 편집 제한을 추가하세요.
  • 고급 렌더링: PDF 생성 설정 가이드를 통해 용지 크기, 여백, 헤더 및 푸터를 제어하십시오.

무료 체험을 시작하여 유료 라이선스 없이 양식 생성을 테스트하세요. 프로젝트가 프로덕션 준비가 되었을 때 배포에 맞는 옵션을 확인하세요.

IronPDF로 무엇을 할 수 있는지 준비되셨습니까? 전체 HTML에서 PDF로 변환하는 튜토리얼을 확인하세요: Java에서 HTML을 PDF로 변환하기

자주 묻는 질문

Java로 PDF 양식을 만드는 가장 쉬운 방법은 무엇인가요?

IronPDF for Java은 표준 HTML로 PDF 양식을 생성합니다. ,