Forhåndsvisning af pdf-form

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

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.

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.

Forhåndsvisning af opdateret afkrydsningsfelt

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.

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.