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);
}