대화형 양식
이 가이드는 AcroForm 필드를 PDF 문서에서 Aspose.PDF FOSS for Java를 사용하여 생성하고 관리하는 방법을 보여줍니다. 라디오 버튼, 체크박스, 텍스트 필드, 콤보 박스 및 리스트 박스를 추가하고 제출된 필드 값을 검색하는 방법을 배웁니다.
AcroForm API
문서에서 Document.getForm()을 통해 접근할 수 있는 Form 클래스는 모든 AcroForm 필드를 관리합니다. 필드는 Form.add(field, pageNumber)를 호출하여 추가됩니다.
RadioButtonField
각 옵션을 개별 Rectangle에 배치한 라디오 버튼 그룹을 생성합니다. 각 옵션은 레이블과 경계 상자를 사용하여 추가됩니다. 옵션을 미리 선택하려면 setValue()을 호출하십시오:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
RadioButtonField radio = new RadioButtonField(page);
radio.setPartialName("color");
radio.addOption("Red", new Rectangle(50, 50, 70, 70));
radio.addOption("Blue", new Rectangle(50, 80, 70, 100));
doc.getForm().add(radio, 1);
radio.setValue("Red");
doc.save("form.pdf");
}setValue()은(는) 프로그래밍 방식으로 옵션을 선택합니다. getValue()은(는) 현재 선택된 옵션 이름을 반환합니다.
CheckboxField
CheckboxField은(는) PDF 양식에서 단일 불리언 입력 필드를 나타냅니다. setChecked(true)을(를) 설정하면 필드가 기본적으로 선택됩니다. 특정 페이지 번호(1부터 시작)에서 양식에 추가합니다:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
CheckboxField cb = new CheckboxField(page, new Rectangle(100, 100, 120, 120));
cb.setPartialName("agree");
cb.setChecked(true);
doc.getForm().add(cb, 1);
doc.save("form.pdf");
}TextBoxField
TextBoxField은(는) 자유 형식 텍스트 입력을 받습니다. setValue()으로 기본값을 설정하고 저장하기 전에 필드를 양식에 등록합니다:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
TextBoxField text = new TextBoxField(page, new Rectangle(50, 200, 250, 220));
text.setPartialName("name");
text.setValue("Default text");
doc.getForm().add(text, 1);
doc.save("form.pdf");
}ComboBoxField 및 ListBoxField
ComboBoxField 및 ListBoxField은(는) 선택 가능한 옵션 목록을 제공합니다. 두 필드 모두 addOption()를 통해 옵션 문자열을 받아들이며, 선택을 가져오기 위해 getValue()을(를) 노출합니다.
FormEditor
FormEditor은(는) AcroForm 필드 작업을 위한 파사드 클래스입니다. bindPdf()으로 문서를 바인딩하고, 변경을 적용한 뒤 save()를 호출합니다.
필드 값 읽기
채워진 양식을 로드한 후, doc.getForm().get(name)를 호출하고 구체적인 필드 타입으로 캐스팅하여 이름이 지정된 필드의 현재 값을 가져옵니다:
try (Document doc = new Document("form.pdf")) {
RadioButtonField radio = (RadioButtonField) doc.getForm().get("color");
String selected = radio.getValue();
System.out.println("Selected: " + selected);
}