Wie man mit interaktiven Formularen in Java arbeitet
Dieser Leitfaden zeigt, wie man AcroForm-Felder in PDF-Dokumenten mit Aspose.PDF FOSS für Java erstellt und verwaltet. Sie lernen, Radiobuttons, Kontrollkästchen und Textfelder hinzuzufügen und übermittelte Formularfeldwerte auszulesen.
Radio-Button-Gruppe erstellen
RadioButtonField stellt eine Gruppe gegenseitig ausschließender Optionen dar. Jede Option wird mit einer Beschriftung und einem Rectangle-Umrandungsrahmen hinzugefügt. Setzen Sie den Anfangswert, indem Sie setValue() mit einer der Optionsbeschriftungen aufrufen:
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");
}Kontrollkästchen hinzufügen
Ein CheckboxField ist ein einzelnes boolesches Feld. Setzen Sie setChecked(true), um es standardmäßig aktiviert zu haben. Das Feld wird dem Formular an einer bestimmten Seitenzahl (1-indiziert) hinzugefügt:
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");
}Textfeld hinzufügen
TextBoxField akzeptiert Benutzereingaben. Setze einen Standardwert mit setValue() und registriere das Feld beim Formular, bevor du speicherst:
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");
}Den ausgewählten Wert abrufen
Nachdem ein Formular geladen wurde, rufe den aktuellen Wert eines Feldes über dessen Teilnamen ab. Cast das Feld zu seinem konkreten Typ, um typenspezifische Methoden aufzurufen:
try (Document doc = new Document("form.pdf")) {
RadioButtonField radio = (RadioButtonField) doc.getForm().get("choice");
String selected = radio.getValue();
System.out.println("Selected: " + selected);
}