Jak pracować z interaktywnymi formularzami w Java

Jak pracować z interaktywnymi formularzami w Java

Ten przewodnik pokazuje, jak tworzyć i zarządzać polami AcroForm w dokumentach PDF przy użyciu Aspose.PDF FOSS dla Java. Nauczysz się dodawać przyciski radiowe, pola wyboru i pola tekstowe oraz odczytywać przesłane wartości pól formularza.

Utwórz grupę przycisków radiowych

RadioButtonField reprezentuje grupę wzajemnie wykluczających się opcji. Każda opcja jest dodawana z etykietą i Rectangle ramką ograniczającą. Ustaw początkową wartość, wywołując setValue() z jedną z etykiet opcji:

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

Dodaj pole wyboru

CheckboxField jest pojedynczym polem logicznym. Ustaw setChecked(true), aby było zaznaczone domyślnie. Pole jest dodawane do formularza na określonej stronie (numeracja 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");
}

Dodaj pole tekstowe

TextBoxField przyjmuje tekstowy input od użytkownika. Ustaw wartość domyślną za pomocą setValue() i zarejestruj pole w formularzu przed zapisaniem:

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

Pobierz wybraną wartość

Po załadowaniu formularza pobierz bieżącą wartość pola, używając jego częściowej nazwy. Rzutuj pole na jego konkretny typ, aby wywołać metody specyficzne dla tego typu:

try (Document doc = new Document("form.pdf")) {
    RadioButtonField radio = (RadioButtonField) doc.getForm().get("choice");
    String selected = radio.getValue();
    System.out.println("Selected: " + selected);
}

Zobacz także

 Polski