Decodieren der Daten von Barcode-Formularen
Sie können die Barcode-Formular-Service-API verwenden, um Daten aus einem PDF-Formular oder einem Bild mit einem Barcode zu decodieren. Das Decodieren von Formulardaten bedeutet das Extrahieren von Daten, die im Barcode enthalten sind. Bevor Daten aus einem PDF-Formular (oder Bild) decodiert werden können, muss ein Benutzer das Formular mit Daten ausfüllen.
Zusammenfassung der Schritte
Um Daten aus einem PDF-Formular zu decodieren, führen Sie die folgenden Schritte aus:
- Schließen Sie Projektdateien ein.
- Erstellen Sie ein Client-API-Objekt für Barcode-Formulare.
- Rufen Sie ein PDF-Formular ab, das mit Barcodes versehene Daten enthält.
- Decodieren Sie die Daten aus dem PDF-Formular.
- Konvertieren Sie die Daten in eine XML-Datenquelle.
- Verarbeiten Sie die decodierten Daten.
Projektdateien einbeziehen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie ein Client-Programm mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Web-Services verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-barcodedforms-client.jar
- adobe-utilities.jar (erforderlich, wenn AEM Forms auf JBoss bereitgestellt wird)
- jbossall-client.jar (erforderlich, wenn AEM Forms auf JBoss bereitgestellt wird)
- xercesImpl.jar (unter <Installationsverzeichnis>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs\thirdparty)
Wenn AEM Forms auf einem unterstützten J2EE-Anwendungs-Server bereitgestellt wird, der nicht JBOSS ist, müssen Sie „adobe-utilities.jar“ und „jbossall-client.jar“ durch JAR-Dateien ersetzen, die spezifisch für den J2EE-Anwendungs-Server sind, auf dem AEM Forms bereitgestellt wird. Informationen zum Speicherort aller AEM Forms-JAR-Dateien finden Sie unter Einbeziehen von AEM Forms-Java-Bibliotheksdateien.
Erstellen eines Client-API-Objekts für Barcode-Formulare
Bevor Sie einen Barcode-Formular-Service-Vorgang programmgesteuert durchführen können, müssen Sie einen Client für den Barcode-Formular-Service erstellen. Wenn Sie die Java-API verwenden, erstellen Sie ein BarcodedFormsServiceClient
-Objekt. Wenn Sie die Barcode-Formular-Webservice-API verwenden, erstellen Sie ein BarcodedFormsServiceService
-Objekt.
Abrufen eines PDF-Formulars, das mit Barcodes versehene Daten enthält
Rufen Sie ein PDF-Formular mit einem Barcode ab, das mit Benutzerdaten ausgefüllt wurde.
Decodieren der Daten aus dem PDF-Formular
Nachdem Sie ein PDF-Formular (oder ein Bild) mit einem Barcode erhalten haben, können Sie Daten decodieren. Der Barcode-Formular-Service unterstützt die folgenden Barcode-Typen:
- PDF417-Barcodes.
- Datenmatrix-Barcodes.
- QR-Code-Barcodes.
- Codabar-Barcodes.
- Code 128-Barcodes.
- Code 39-Barcodes.
- EAN-13-Barcodes.
- EAN-8-Barcodes.
Die Eingabe des Zeichensatzes als Hexadezimalwert in der Decodierungs-API bedeutet, dass der Inhalt des Barcodes als hexadezimale Zeichenfolge codiert wird. Wenn beispielsweise UTF-8 als Codierung der Zeichen im Formular und Hex im Decodierungsvorgang angegeben ist, wird der Inhalt des Barcodes als hexadezimale Zeichenfolge im Element <xb:content
> in der decodierten Ausgabe codiert. Sie können diesen Hexadezimalwert konvertieren, um den ursprünglichen Inhalt zu erhalten, indem Sie eine Anwendungslogik in Ihrem Client-Programm erstellen.
Konvertieren der Daten in eine XML-Datenquelle
Nachdem Sie Formulardaten decodiert haben, können Sie sie in XDP- oder XFDF-Daten konvertieren. Angenommen, Sie möchten die Daten in ein anderes Formular importieren. Um die Daten in ein XFA-Formular zu importieren, müssen Sie die Daten in XDP-Daten konvertieren. Weitere Informationen finden Sie unter Importieren von Formulardaten.
Verarbeiten der dekodierten Daten
Sie können die konvertierten Daten verarbeiten, um Ihre Geschäftsanforderungen zu erfüllen. Nachdem Sie beispielsweise die Daten decodiert und konvertiert haben, können Sie sie in einer Datei speichern, in einer Unternehmensdatenbank speichern, ein anderes Formular ausfüllen usw. In diesem Abschnitt wird beschrieben, wie Sie die konvertierten Daten als XML-Datei speichern.
Decodieren von mit Barcode versehenen Formulardaten mit der Java-API
So decodieren Sie Formulardaten mithilfe der Barcode-Formulare-API (Java):
-
Projektdateien einschließen
Schließen Sie Client-JAR-Dateien in den Klassenpfad Ihres Java-Projekts ein.
-
Erstellen eines Client-API-Objekts für Barcode-Formulare
Erstellen Sie ein
BarcodedFormsServiceClient
-Objekt, indem Sie seinen Konstruktor verwenden und einServiceClientFactory
-Objekt übergeben, das Verbindungseigenschaften enthält. -
Abrufen eines PDF-Formulars mit Barcode-Daten
- Erstellen Sie ein
java.io.FileInputStream
-Objekt, das das PDF-Formular darstellt, welches Barcode-Daten enthält, indem Sie seinen Konstruktor verwenden und einen Zeichenfolgenwert übergeben, der den Speicherort des PDF-Dokuments angibt. - Erstellen Sie ein
com.adobe.idp.Document
-Objekt, indem Sie seinen Konstruktor verwenden und dasjava.io.FileInputStream
-Objekt übergeben.
- Erstellen Sie ein
-
Decodieren der Daten aus dem PDF-Formular
Decodieren Sie die Formulardaten, indem Sie die Methode
decode
desBarcodedFormsServiceClient
-Objekts aufrufen und die folgenden Werte übergeben:- Das
com.adobe.idp.Document
-Objekt, das das PDF-Formular enthält. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein PDF417-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das, das angibt, ob ein Datenmatrix-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein QR-Code-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein Codabar-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein Code-128-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein Code-39-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein EAN-13-Barcode decodiert werden soll. - Ein
java.lang.Boolean
-Objekt, das angibt, ob ein EAN-8-Barcode decodiert werden soll. - Ein
com.adobe.livecycle.barcodedforms.CharSet
-Auflistungswert, der den im Barcode verwendeten Wert für die Codierung des Zeichensatzes angibt.
Die Methode
decode
gibt einorg.w3c.dom.Document
-Objekt zurück, das decodierte Formulardaten enthält. - Das
-
Konvertieren der Daten in eine XML-Datenquelle
Konvertieren Sie die decodierten Daten entweder in XDP- oder in XFDF-Daten, indem Sie die Methode
extractToXML
desBarcodedFormsServiceClient
-Objekts aufrufen und die folgenden Werte übergeben:- Das
org.w3c.dom.Document
-Objekt, das die decodierten Daten enthält (stellen Sie sicher, dass Sie den Rückgabewert der Methodedecode
verwenden). - Ein
com.adobe.livecycle.barcodedforms.Delimiter
-Auflistungswert, der das Trennzeichen für die Zeile angibt. Es wird empfohlen,Delimiter.Carriage_Return
anzugeben. - Ein
com.adobe.livecycle.barcodedforms.Delimiter
-Auflistungswert, der das Feldtrennzeichen angibt. Geben Sie zum BeispielDelimiter.Tab
an. - Ein
com.adobe.livecycle.barcodedforms.XMLFormat
-Auflistungswert, der angibt, ob die Barcode-Daten in XDP- oder XFDF-XML-Daten konvertiert werden sollen. Geben Sie beispielsweiseXMLFormat.XDP
an, um die Daten in XDP-Daten zu konvertieren.
HINWEIS
Geben Sie nicht dieselben Werte für die Parameter „Zeilentrennzeichen“ und „Feldtrennzeichen“ an.Die Methode
extractToXML
gibt einjava.util.List
-Objekt zurück, bei dem jedes Element einorg.w3c.dom.Document
-Objekt ist. Für jeden Barcode im Formular gibt es ein eigenes Element. Das heißt, wenn das Formular vier Barcodes enthält, gibt es vier Elemente im zurückgegebenenjava.util.List
-Objekt. - Das
-
Verarbeiten der decodierten Daten
- Iterieren Sie durch das
java.util.List
-Objekt, um jedesorg.w3c.dom.Document
-Objekt zu erhalten, das sich in der Liste befindet. - Konvertieren Sie für jedes Element in der Liste das
org.w3c.dom.Document
-Objekt in eincom.adobe.idp.Document
-Objekt. (Die Anwendungslogik, die einorg.w3c.dom.Document
-Objekt in eincom.adobe.idp.Document
-Objekt umwandelt, wird im Beispiel zum Dekodieren von Barcode-Formulardaten mithilfe der Java-API gezeigt). - Speichern Sie die XML-Daten als XML-Datei, indem Sie die Methode
copyToFile
descom.adobe.idp.Document
-Objekts aufrufen und ein Dateiobjekt übergeben, das die XML-Datei darstellt.
- Iterieren Sie durch das