Jak pracovat s interaktivními formuláři v Java

Jak pracovat s interaktivními formuláři v Java

Tento průvodce ukazuje, jak vytvářet a spravovat pole AcroForm v PDF dokumentech pomocí Aspose.PDF FOSS pro Java. Naučíte se přidávat přepínače, zaškrtávací políčka a textová pole a číst odeslané hodnoty polí formuláře.

Vytvořit skupinu přepínačů

RadioButtonField představuje skupinu vzájemně se vylučujících možností. Každá možnost se přidává s popiskem a ohraničujícím rámečkem Rectangle. Počáteční hodnotu nastavíte voláním setValue() s jedním z popisků možností:

try (Document doc = new Document()) {
    PageCollection pages = doc.getPages();
    Page page = pages.add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("choice");
    radio.addOption("Yes", new Rectangle(50, 50, 70, 70));
    radio.addOption("No", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Yes");
    doc.save("form.pdf");
}

Přidat zaškrtávací políčko

CheckboxField je jediné booleanové pole. Nastavte setChecked(true), aby bylo ve výchozím nastavení zaškrtnuté. Pole se přidá 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(50, 50, 70, 70));
    cb.setPartialName("agree");
    cb.setChecked(true);
    doc.getForm().add(cb, 1);
    doc.save("form.pdf");
}

Přidat textové pole

TextBoxField přijímá uživatelský 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("Enter your name");
    doc.getForm().add(text, 1);
    doc.save("form.pdf");
}

Získat vybranou hodnotu

Po načtení formuláře získáte aktuální hodnotu pole podle jeho částečného názvu. Převeďte pole na konkrétní typ, abyste mohli volat metody specifické pro typ:

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

Viz také:

 Čeština