Interaktivní formuláře

Tento průvodce ukazuje, jak vytvářet a spravovat AcroForm pole v PDF dokumentech pomocí Aspose.PDF FOSS pro Java. Naučíte se přidávat radio buttons, checkboxes, text fields, combo boxes a list boxes a získávat odeslané hodnoty polí.

AcroForm API

Třída Form, přístupná přes Document.getForm(), spravuje všechna AcroForm pole v dokumentu. Pole se přidávají voláním Form.add(field, pageNumber).

RadioButtonField

Vytvořte skupinu radio buttons, každá možnost na svém vlastním Rectangle. Každá možnost se přidá s popiskem a ohraničovacím rámečkem. Zavolejte setValue() pro předběžný výběr možnosti:

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() vybere možnost programově. getValue() vrací aktuálně vybraný název možnosti.

CheckboxField

CheckboxField představuje jediné pole s boolean vstupem v PDF formuláři. Nastavte setChecked(true), aby bylo pole zaškrtnuto ve výchozím stavu. Přidejte jej do formuláře na konkrétní číslo stránky (číslování od 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 přijímá volný textový vstup. Nastavte výchozí hodnotu pomocí setValue() a zaregistrujte pole ve formuláři před uložením:

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 a ListBoxField

ComboBoxField a ListBoxField představují výběrové seznamy možností. Oba přijímají řetězce možností pomocí addOption() a poskytují getValue() pro získání výběru.

FormEditor

FormEditor je fasádní třída pro práci s poli AcroForm. Připojte dokument pomocí bindPdf(), aplikujte změny a poté zavolejte save().

Čtení hodnot polí

Po načtení vyplněného formuláře získáte aktuální hodnotu pojmenovaného pole voláním doc.getForm().get(name) a přetypováním na konkrétní typ pole:

try (Document doc = new Document("form.pdf")) {
    RadioButtonField radio = (RadioButtonField) doc.getForm().get("color");
    String selected = radio.getValue();
    System.out.println("Selected: " + selected);
}

Viz také:

 Čeština