Как работать с интерактивными формами в Java
В этом руководстве показано, как создавать и управлять полями AcroForm в PDF-документах с помощью Aspose.PDF FOSS для Java. Вы научитесь добавлять радиокнопки, выбирательные ящики и текстовые поля, а также читать представленные значения полей формы.
Создать группу радио-кнопок
RadioButtonField представляет собой группу взаимоисключающих вариантов. добавленные с этикеткой и Rectangle Ограничительный ящик. Установите начальное значение, набрав setValue() с одной из опционных ярлыков:
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");
}Добавить ящик с отметкой
А. - Да . CheckboxField является одним булевым полем. setChecked(true) чтобы сделать это . Поле добавляется в форму на конкретном номере страницы (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");
}Добавить поле текста
TextBoxField принимает ввод текста пользователя. Установите значение по умолчанию с setValue() и в том числе: Зарегистрировать поле с помощью формы перед сохранением:
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");
}Получить выбранную величину
После загрузки формы, получите текущее значение поля по его частичному названию.:
try (Document doc = new Document("form.pdf")) {
RadioButtonField radio = (RadioButtonField) doc.getForm().get("choice");
String selected = radio.getValue();
System.out.println("Selected: " + selected);
}