Hur man arbetar med interaktiva formulär i Java

Hur man arbetar med interaktiva formulär i Java

Denna guide visar hur man skapar och hanterar AcroForm-fält i PDF-dokument med Aspose.PDF FOSS för Java. Du kommer att lära dig att lägga till radioknappar, kryssrutor och textfält samt läsa in skickade formulärfältsvärden.

Skapa en radioknappgrupp

RadioButtonField representerar en grupp av ömsesidigt uteslutande alternativ. Varje alternativ läggs till med en etikett och en Rectangle avgränsningsruta. Ställ in det initiala värdet genom att anropa setValue() med en av alternativetiketterna:

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

Lägg till en kryssruta

En CheckboxField är ett enskilt booleskt fält. Ställ in setChecked(true) för att göra den ikryssad som standard. Fältet läggs till i formuläret på ett specifikt sidnummer (1-indexerat):

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

Lägg till ett textfält

TextBoxField accepterar användartextinmatning. Ange ett standardvärde med setValue() och registrera fältet med formuläret innan du sparar:

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

Hämta det valda värdet

Efter att ha laddat ett formulär, hämta det aktuella värdet för ett fält med dess partiella namn. Kasta fältet till dess konkreta typ för att anropa typ-specifika metoder:

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

Se även

 Svenska