Interactieve formulieren
Deze gids laat zien hoe je AcroForm velden in PDF-documenten maakt en beheert met Aspose.PDF FOSS voor Java. Je leert radio-knoppen, selectievakjes, tekstvelden, vervolgkeuzelijsten en lijstvakken toe te voegen, en de ingediende veldwaarden op te halen.
AcroForm API
De Form klasse, toegankelijk via Document.getForm(), beheert alle AcroForm velden in het document. Velden worden toegevoegd door Form.add(field, pageNumber) aan te roepen.
RadioButtonField
Maak een groep radio-knoppen, elke optie op zijn eigen Rectangle. Elke optie wordt toegevoegd met een label en een begrenzingsvak. Roep setValue() aan om een optie vooraf te selecteren:
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() selecteert een optie programmatisch. getValue() geeft de momenteel geselecteerde optienaam terug.
CheckboxField
CheckboxField vertegenwoordigt een enkel booleaans invoerveld in het PDF-formulier. Stel setChecked(true) in om het veld standaard aangevinkt te maken. Voeg het toe aan het formulier op een specifiek paginanummer (1-gebaseerd):
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 accepteert vrije-tekst invoer. Stel een standaardwaarde in met setValue() en registreer het veld bij het formulier voordat je opslaat:
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 en ListBoxField
ComboBoxField en ListBoxField presenteren selecteerbare optielijsten. Beide accepteren optiereeksen via addOption() en bieden getValue() om de selectie op te halen.
FormEditor
FormEditor is een facade class voor het werken met AcroForm velden. Koppel een document met bindPdf(), pas wijzigingen toe, en roep vervolgens save() aan.
Veldwaarden lezen
Na het laden van een ingevuld formulier, haal de huidige waarde van een benoemd veld op door doc.getForm().get(name) aan te roepen en te casten naar het concrete veldtype:
try (Document doc = new Document("form.pdf")) {
RadioButtonField radio = (RadioButtonField) doc.getForm().get("color");
String selected = radio.getValue();
System.out.println("Selected: " + selected);
}