
Formularfelter er en af de integrerede komponenter, når man håndterer kundedata, og det bliver nemt at distribuere PDF Acro-formularerne med brugerne, så de kan udfylde formularerne med data efter eget valg og sende dem tilbage. Vi er bekendt med, at en række formularfelter kan bruges, men blandt alle disse er TextBox, CheckBox, RadioButton og ComboBoxes meget almindelige. Så når dataene er udfyldt i Acro-formularer, analyserer vi formularfelterne på backoffice for at udtrække data fra dem og gemme dem i FDF, XML eller direkte i databaser.
Selvom alle operationer inklusive PDF formularoprettelse, formularfelter tilføjelse, formularfeltopdateringsaktivitet kan udføres manuelt, når der er tale om et stort sæt dokumenter, ser den manuelle operation ikke ud til at være gennemførlig, fordi den er tidskrævende og fejltilbøjelig på grund af manuel håndtering af data. Så automatiske rutiner gennem programmeringssprog kan være en holdbar løsning. Når vi opretter et program, får vi derfor en mulighed for enten at bruge en lokal løsning/API, som kan hjælpe os med at opfylde alle kravene, eller bruge cloud-hostede REST API’er til at parse formularfelterne.
REST API-fordele
RESTful API’erne får et spring her, fordi du ikke manuelt behøver at holde styr på alle API-versioner. Du behøver heller ikke at holde dit system opdateret med API-versioner og behøver ikke bekymre dig om kompatibilitetsproblemer af API’erne med et bestemt programmeringssprog osv. Derfor præsenterer vi Aspose.PDF Cloud SDK for Java, som giver mulighed for at oprette, manipulere samt transformere PDF-dokumenter til andre understøttede filformater. Java SDK’et er udviklet oven på Aspose.PDF Cloud REST API’er, som nemt kan tilgås ved hjælp af cURL-kommandoer, og SDK’erne er udviklet for at lette vores kunder ved at bruge et bestemt programmeringssprog.
I denne blog vil vi kaste lidt lys over, hvordan man analyserer forskellige formularfelter:
- Læs, Tilføj eller opdater tekstboksfelter
- Parse CheckBox-formularfelter
- Tilføj eller opdater RadioButton-felter
- Manipuler ComboBox-formularfelter
Læs, Tilføj eller opdater tekstboksfelter
API’en tilbyder tre måder at læse information forbundet med tekstboksfelter på.
| API | Skriv | Beskrivelse | Swagger Link |
| ——————————————– | ———– | ——————————————– | ———————————— |
| /pdf/{navn}/felter/tekstboks | FÅ | Læs dokumentets tekstboksfelter | GetDocumentTextBoxFields |
| /pdf/{navn}/side/{pageNumber}/felter/tekstboks | FÅ | Læs dokumentets tekstboksfelter for en given side | GetPageTextBoxFields |
| /pdf/{navn}/fields/textbox/{fieldName} | FÅ | Læs dokumentets tekstboksfelter med et feltnavn | GetTextBoxField |
cURL kommando til at læse tekstboksfelter
Da filerne er gemt i dit personlige skylager, skal du først generere et JWT-godkendelsestoken, som kræver dit personlige klient-id og klienthemmelighed.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=xxxx&client_secret=xxxx" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Eksempel FormDataTextBox.pdf brugt i ovenstående eksempel.
Java
// For komplette eksempler og datafiler, gå til https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
import com.aspose.asposecloudpdf.ApiException;
import com.aspose.asposecloudpdf.api.PdfApi;
import com.aspose.asposecloudpdf.examples.Common;
import com.aspose.asposecloudpdf.model.FieldResponse;
public class GetFieldTestExample {
public static void main(String[] args) throws ApiException {
String name = "PdfWithAcroForm.pdf";
// oprette en instans af PdfAPi-objektet
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Læs dokumentets tekstboksfelter
TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
// udskrive detaljerne vedrørende hentede felter
System.out.println(response.getFields());
}
}
Parse CheckBox-formularfelter
Når det drejer sig om afkrydsningsfelter, giver API’en også mulighed for at læse afkrydsningsfelt-værdier, tilføje et nyt afkrydsningsfelt eller opdatere de egenskaber, der er knyttet til et eksisterende afkrydsningsfelt på PDF-formularen.
- GetDocumentCheckBoxFields - Read document checkbox fields
- GetPageCheckBoxFields - Read specific page checkbox fields
- GetCheckBoxField - Read document checkbox field by name
cURL-kommando til at læse CheckBox på side 1
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/page/1/fields/checkbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
CURL kommando for at opdatere CheckBox på side 1
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Links\": [ { \"Href\": \"string\", \"Rel\": \"string\", \"Type\": \"string\", \"Title\": \"string\" } ], \"PartialName\": \"Aspose CheckBox\", \"FullName\": \"Aspose CheckBox\", \"Rect\": { \"LLX\": 88.3573, \"LLY\": 687.617, \"URX\": 97.0198, \"URY\": 695.413 }, \"Value\": \"null\", \"PageIndex\": 1, \"Height\": 12, \"Width\": 12, \"ZIndex\": 0, \"IsGroup\": false, \"IsSharedField\": true, \"Flags\": [ \"Default\" ], \"Color\": { \"A\": 0, \"R\": 150, \"G\": 120, \"B\": 0 }, \"Contents\": \"Field Updated\", \"Margin\": { \"Left\": 0, \"Right\": 0, \"Top\": 0, \"Bottom\": 0 }, \"Highlighting\": \"None\", \"HorizontalAlignment\": \"Left\", \"VerticalAlignment\": \"Center\", \"Border\": { \"Width\": 1, \"EffectIntensity\": 1, \"Style\": \"Solid\", \"Effect\": \"None\", \"Dash\": { \"On\": 1, \"Off\": 2 }, \"Color\": { \"A\": 255, \"R\": 120, \"G\": 120, \"B\": 0 } }, \"AllowedStates\": [ \"Yes\",\"Off\" ], \"Style\": \"Circle\", \"ActiveState\": \"On\", \"Checked\": true, \"ExportValue\": \"Yes\"}"
Anmod om URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1
Java
// For komplette eksempler og datafiler, gå til https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
import com.aspose.asposecloudpdf.model.Rectangle;
import com.aspose.asposecloudpdf.model.CheckBoxField;
import com.aspose.asposecloudpdf.model.Border;
import com.aspose.asposecloudpdf.model.Color;
import com.aspose.asposecloudpdf.model.CheckBoxFieldResponse;
public class UpdateCheckBoxFieldExample {
public static void main(String[] args) throws ApiException {
// oprette en instans af PdfAPi-objektet
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Opret CheckBox-instans
CheckBoxField updatedCheckBox = new CheckBoxField();
updatedCheckBox.partialName("Check Box1");
updatedCheckBox.height(12.0);
updatedCheckBox.width(12.0);
// sæt afkrydsningsfeltstil som Diamant
updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
updatedCheckBox.activeState("On");
// aktiver afkrydsningsfeltets værdi
updatedCheckBox.checked(true);
Rectangle rect = new Rectangle();
rect.setLLX(88.3573);
rect.setLLY(687.617);
rect.setURX(97.0198);
rect.setURY(695.413);
updatedCheckBox.rect(rect);
// angiv sideindeksdetaljerne
updatedCheckBox.pageIndex(1);
// sæt detaljer om afkrydsningsfelts kantstil
Border border = new Border();
border.width(1);
border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
// Farveobjekt til kant
Color color = new Color();
color.setR(120);
color.setG(220);
color.setB(10);
// sæt afkrydsningsfeltets kantfarve
border.color(color);
// kald metode til at opdatere afkrydsningsfelt på side 1
CheckBoxFieldResponse response = pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
// udskrive svarstatuskode
System.out.print(response.getStatus());
}
}
Når kommandoen/koden er udført, opdateres egenskaberne forbundet med afkrydsningsfelt 1 felt som vist på billedet nedenfor.

Billede 1:- Forhåndsvisning af opdateret afkrydsningsfelt 1 ved hjælp af cURL-kommandoen
Tilføj eller opdater RadioButton-felter
I lighed med TextBox- og CheckBox-felter giver Cloud SDK også mulighed for at læse og opdatere RadioButton-felter på PDF-dokumenter.
cURL-kommando til at læse RadioButton-felter på PDF-dokument
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Anmod om URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton
Manipuler ComboBox-formularfelter
Bemærk, at ComboBox-manipulationen bliver meget praktisk ved hjælp af Aspose.PDF Cloud SDK til Java. Du får mulighed for at læse eksisterende ComboBox-felter på dokumentet, tilføje et nyt ComboBox-felt eller opdatere en eksisterende ComboBox.
- GetDocumentComboBoxFields - Read document combobox fields
- GetPageComboBoxFields - Read particular page combobox fields
- GetComboBoxField - Read document combobox field by name
- PostComboBoxFields - Add ComboBox field to document
- PutComboBoxField - Replace document combobox field
cURL-kommando til at læse alle ComboBox-felter
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Anmod om URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox
Konklusion
Som forklaret i artiklen ovenfor er formfeltbehandlingen blevet ret nem ved hjælp af Cloud API’er. Du kan overveje at gå gennem en relateret blog Form Parser | Formgenkender | PDF-påfyldning | Automatiser formularbehandling med REST Web API.