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