대화형 양식

이 가이드는 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);
}

참조

 한국어