PDF-Formularvorschau

Formularfelder sind eine der integralen Komponenten beim Umgang mit Kundendaten und es wird einfach, die PDF Acro-Formulare an Benutzer zu verteilen, damit diese die Formulare mit Daten ihrer Wahl ausfüllen und zurücksenden können. Wir wissen, dass eine Vielzahl von Formularfeldern verwendet werden kann, aber unter all diesen sind TextBox, CheckBox, RadioButton und ComboBox sehr gebräuchlich. Sobald die Daten in Acro-Formulare eingetragen wurden, analysieren wir die Formularfelder im Backoffice, um Daten daraus zu extrahieren und sie in FDF, XML oder direkt in Datenbanken zu speichern.

Obwohl alle Vorgänge, einschließlich der Erstellung von PDF-Formularen, des Hinzufügens von Formularfeldern und der Aktualisierung von Formularfeldern, manuell durchgeführt werden können, scheint der manuelle Vorgang bei der Bearbeitung einer großen Menge an Dokumenten nicht praktikabel, da er aufgrund der manuellen Datenverarbeitung zeitaufwändig und fehleranfällig ist. Automatische Routinen durch Programmiersprachen können daher eine praktikable Lösung sein. Daher haben wir beim Erstellen eines Programms die Möglichkeit, entweder eine lokale Lösung/API zu verwenden, die uns dabei helfen kann, alle Anforderungen zu erfüllen, oder in der Cloud gehostete REST-APIs zum Parsen der Formularfelder zu verwenden.

Vorteile der REST-API

Die RESTful-APIs machen hier einen großen Schritt, da Sie nicht alle API-Versionen manuell im Auge behalten müssen. Außerdem müssen Sie Ihr System nicht mit API-Versionen auf dem neuesten Stand halten und sich keine Gedanken über Kompatibilitätsprobleme der APIs mit einer bestimmten Programmiersprache usw. machen. Daher präsentieren wir Aspose.PDF Cloud SDK für Java, das die Möglichkeit bietet, PDF Dokumente zu erstellen, zu bearbeiten und in andere unterstützte Dateiformate umzuwandeln. Das Java SDK basiert auf Aspose.PDF Cloud REST APIs, auf die einfach über cURL-Befehle zugegriffen werden kann, und die SDKs wurden entwickelt, um unseren Kunden die Verwendung einer bestimmten Programmiersprache zu erleichtern.

In diesem Blog werden wir etwas Licht in die Analyse verschiedener Formularfelder bringen:

TextBox-Felder lesen, hinzufügen oder aktualisieren

Die API bietet drei Möglichkeiten zum Lesen von mit TextBox-Feldern verknüpften Informationen.

| API | Typ | Beschreibung | Swagger-Link |

| ——————————————– | ———– | ——————————————– | ————— |

| /pdf/{name}/fields/textbox | GET | TextBox-Felder des Dokuments lesen | GetDocumentTextBoxFields |

| /pdf/{name}/page/{pageNumber}/fields/textbox | GET | Lies die TextBox-Felder des Dokuments für eine bestimmte Seite | GetPageTextBoxFields |

| /pdf/{name}/fields/textbox/{fieldName} | GET | Liest TextBox-Felder des Dokuments anhand eines Feldnamens | GetTextBoxField |

cURL-Befehl zum Lesen von TextBox-Feldern

Da die Dateien in Ihrem persönlichen Cloud-Speicher gespeichert werden, müssen Sie zuerst ein JWT-Authentifizierungstoken generieren, das Ihre personalisierte Client-ID und Ihr Client-Geheimnis erfordert.

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>"

Beispiel FormDataTextBox.pdf, das im obigen Beispiel verwendet wurde.

Java

// Vollständige Beispiele und Datendateien finden Sie unter 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";
    // Erstellen Sie eine Instanz eines PdfAPi Objekts
    com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
    // TextBox-Felder des Dokuments lesen
    TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
    // Drucken Sie die Details zu den abgerufenen Feldern
    System.out.println(response.getFields());
    }
}

CheckBox-Formularfelder analysieren

Beim Umgang mit Kontrollkästchen bietet die API auch die Möglichkeit, Kontrollkästchenwerte zu lesen, ein neues Kontrollkästchen hinzuzufügen oder die mit einem vorhandenen Kontrollkästchen verknüpften Eigenschaften im PDF-Formular zu aktualisieren.

cURL-Befehl zum Lesen der CheckBox auf Seite 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-Befehl zum Aktualisieren der CheckBox auf Seite 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\"}"

Anforderungs-URL

https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1

Java

// Vollständige Beispiele und Datendateien finden Sie unter 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 {
    
    // Erstellen Sie eine Instanz eines PdfAPi Objekts
    com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
    // CheckBox-Instanz erstellen
    CheckBoxField updatedCheckBox = new CheckBoxField();
    updatedCheckBox.partialName("Check Box1");
    updatedCheckBox.height(12.0);
    updatedCheckBox.width(12.0);
    // Kontrollkästchenstil als Diamant festlegen
    updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
    updatedCheckBox.activeState("On");
    // Aktivieren Sie den Kontrollkästchenwert
    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);
    // Geben Sie die Seitenindexdetails an
    updatedCheckBox.pageIndex(1);

    // Details zum Kontrollkästchenrahmenstil festlegen
    Border border = new Border();
    border.width(1);
    border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
    border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
    // Farbobjekt für Rahmen
    Color color = new Color();
    color.setR(120);
    color.setG(220);
    color.setB(10);
    // Rahmenfarbe für Kontrollkästchen festlegen
    border.color(color);
    // Methode zum Aktualisieren des Kontrollkästchenfelds auf Seite 1 aufrufen
    CheckBoxFieldResponse response =  pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
    // Statuscode der Druckantwort
    System.out.print(response.getStatus());
    }
}

Sobald der Befehl/Code ausgeführt wird, werden die mit dem Kontrollkästchenfeld 1 verknüpften Eigenschaften wie im Bild unten gezeigt aktualisiert.

Vorschau des aktualisierten Kontrollkästchenfelds

Bild 1: - Vorschau des aktualisierten Kontrollkästchens 1 mit dem cURL-Befehl

RadioButton-Felder hinzufügen oder aktualisieren

Ähnlich wie TextBox und CheckBox-Felder bietet das Cloud SDK auch die Möglichkeit, RadioButton-Felder in PDF Dokumenten zu lesen und zu aktualisieren.

cURL-Befehl zum Lesen von RadioButton-Feldern in einem 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>"

Anforderungs-URL

https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton

ComboBox-Formularfelder manipulieren

Beachten Sie, dass die ComboBox-Manipulation mithilfe des Aspose.PDF Cloud SDK für Java sehr praktisch wird. Sie haben die Möglichkeit, vorhandene ComboBox-Felder im Dokument zu lesen, ein neues ComboBox-Feld hinzuzufügen oder eine vorhandene ComboBox zu aktualisieren.

cURL-Befehl zum Lesen aller ComboBox-Felder

curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Anforderungs-URL

https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox

Abschluss

Wie im obigen Artikel erläutert, ist die Verarbeitung von Formularfeldern mithilfe von Cloud-APIs recht einfach geworden. Sie können einen entsprechenden Blog lesen Formularparser | Formularerkenner | PDF-Ausfüllen | Formularverarbeitung mit REST-Web-API automatisieren.