Decodifica dei dati del modulo con codice a barre
Puoi utilizzare l’API del servizio Forms con codice a barre per decodificare dati da un modulo PDF o da un’immagine che contiene un codice a barre. Per decodificare i dati del modulo si intende l'estrazione dei dati contenuti nel codice a barre. Prima di poter decodificare i dati da un modulo (o un’immagine) di PDF, l’utente deve inserire nel modulo i dati necessari.
Riepilogo dei passaggi
Per decodificare dati da un modulo PDF, effettuare le seguenti operazioni:
- Includi file di progetto.
- Crea un oggetto API formsClient con codice a barre.
- Ottieni un modulo PDF contenente dati con codice a barre.
- Decodifica i dati dal modulo PDF.
- Convertire i dati in un'origine dati XML.
- Elabora i dati decodificati.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un’applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, accertati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-barcodedforms-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è implementato su JBoss)
- jbossall-client.jar (obbligatorio se AEM Forms è distribuito su JBoss)
- xercesImpl.jar (in <directory di installazione>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs\thirdparty)
Se AEM Forms viene distribuito su un server applicazioni J2EE supportato che non è JBOSS, è necessario sostituire adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms. Per informazioni sulla posizione di tutti i file JAR di AEM Forms, vedi Inclusi i file della libreria Java di AEM Forms.
Crea un oggetto API client per moduli con codice a barre
Prima di poter eseguire a livello di programmazione un'operazione del servizio Forms codificata a barre, è necessario creare un client del servizio Forms codificato a barre. Se si utilizza l'API Java, creare un oggetto BarcodedFormsServiceClient
. Se si utilizza l'API del servizio Web Forms con codice a barre, creare un oggetto BarcodedFormsServiceService
.
Ottieni un modulo PDF contenente dati con codice a barre
Ottenere un modulo PDF contenente un codice a barre che è stato compilato con dati utente.
Decodificare i dati dal modulo PDF
Dopo aver ottenuto un modulo PDF (o un'immagine) contenente un codice a barre, è possibile decodificare i dati. Il servizio Barcoded Forms supporta i seguenti tipi di codici a barre:
- Codici a barre PDF417.
- Codici a barre della matrice dati.
- Codici a barre del codice QR.
- Codici a barre Codabar.
- Codice 128 codici a barre.
- Codice 39 codici a barre.
- Codice a barre EAN-13.
- Codice a barre EAN-8.
L’input del set di caratteri come esadecimale nell’API di decodifica implica che il contenuto del codice a barre sia codificato come stringa esadecimale. Ad esempio, se si specifica UTF-8 come codifica Character nel modulo e Hex nell'operazione di decodifica, il contenuto del codice a barre viene codificato come stringa Hex nell'elemento < xb:content
> nell'output decodificato. Puoi convertire questo valore esadecimale per ottenere il contenuto originale creando la logica dell’applicazione nell’applicazione client.
Convertire i dati in un'origine dati XML
Dopo aver decodificato i dati del modulo, è possibile convertirli in dati XDP o XFDF. Si supponga, ad esempio, di voler importare i dati in un altro modulo. Per importare i dati in un modulo XFA, è necessario convertire i dati in dati XDP. Per informazioni, vedere Importazione dati modulo.
Elabora i dati decodificati
È possibile elaborare i dati convertiti per soddisfare i requisiti aziendali. Ad esempio, dopo aver decodificato e convertito i dati, è possibile salvarli in un file, memorizzarli in un database aziendale, compilare un altro modulo e così via. Questa sezione illustra come salvare i dati convertiti come file XML.
Decodificare i dati dei moduli con codice a barre utilizzando l’API Java
Decodificare i dati del modulo utilizzando l’API (Java) dei moduli codificati a barre:
-
Includi file di progetto
Includi i file JAR client nel percorso della classe del progetto Java.
-
Creare un oggetto API client Forms con codice a barre
Creare un oggetto
BarcodedFormsServiceClient
utilizzando il relativo costruttore e passando un oggettoServiceClientFactory
che contiene proprietà di connessione. -
Ottieni un modulo PDF contenente dati con codice a barre
- Creare un oggetto
java.io.FileInputStream
che rappresenta il modulo PDF contenente dati con codice a barre utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del documento PDF. - Creare un oggetto
com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggettojava.io.FileInputStream
.
- Creare un oggetto
-
Decodificare i dati dal modulo PDF
Decodificare i dati del modulo richiamando il metodo
decode
dell'oggettoBarcodedFormsServiceClient
e passando i valori seguenti:- L'oggetto
com.adobe.idp.Document
che contiene il modulo PDF. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre PDF417. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre della matrice dati. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre del codice QR. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre codabar. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre 128. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre 39. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre EAN-13. - Oggetto
java.lang.Boolean
che specifica se decodificare un codice a barre EAN-8. - Valore di enumerazione
com.adobe.livecycle.barcodedforms.CharSet
che specifica il valore di codifica del set di caratteri utilizzato nel codice a barre.
Il metodo
decode
restituisce un oggettoorg.w3c.dom.Document
contenente dati del modulo decodificati. - L'oggetto
-
Convertire i dati in un'origine dati XML
Convertire i dati decodificati in dati XDP o XFDF richiamando il metodo
extractToXML
dell'oggettoBarcodedFormsServiceClient
e passando i valori seguenti:- Oggetto
org.w3c.dom.Document
contenente dati decodificati (assicurarsi di utilizzare il valore restituito dal metododecode
). - Valore di enumerazione
com.adobe.livecycle.barcodedforms.Delimiter
che specifica il delimitatore di riga. È consigliabile specificareDelimiter.Carriage_Return
. - Valore di enumerazione
com.adobe.livecycle.barcodedforms.Delimiter
che specifica il delimitatore di campo. Specificare ad esempioDelimiter.Tab
. - Valore di enumerazione
com.adobe.livecycle.barcodedforms.XMLFormat
che specifica se convertire i dati del codice a barre in dati XML XDP o XFDF. Specificare ad esempioXMLFormat.XDP
per convertire i dati in dati XDP.
NOTA
Non specificare gli stessi valori per i parametri delimitatore di riga e delimitatore di campo.Il metodo
extractToXML
restituisce un oggettojava.util.List
in cui ogni elemento è un oggettoorg.w3c.dom.Document
. Nel modulo è presente un elemento separato per ogni codice a barre. In altre parole, se nel modulo sono presenti quattro codici a barre, nell'oggettojava.util.List
restituito sono presenti quattro elementi. - Oggetto
-
Elabora i dati decodificati
- Scorrere l'oggetto
java.util.List
per ottenere ogni oggettoorg.w3c.dom.Document
presente nell'elenco. - Per ogni elemento dell'elenco, convertire l'oggetto
org.w3c.dom.Document
in un oggettocom.adobe.idp.Document
. (La logica dell'applicazione che converte un oggettoorg.w3c.dom.Document
in un oggettocom.adobe.idp.Document
viene visualizzata nella decodifica dei dati del modulo codificati a barre tramite l'esempio dell'API Java). - Salvare i dati XML come file XML richiamando
copyToFile
dell'oggettocom.adobe.idp.Document
e passando un oggetto File che rappresenta il file XML.
- Scorrere l'oggetto