Utilizzo di moduli con codice a barre working-with-barcoded-forms
Gli esempi e gli esempi contenuti in questo documento sono solo per l’ambiente AEM Forms su JEE.
Informazioni sul servizio Forms con codice a barre about-the-barcoded-forms-service
Il servizio di moduli con codice a barre automatizza l'acquisizione dei dati dai moduli di compilazione e stampa e integra le informazioni acquisite nei principali sistemi IT di un'organizzazione.
Utilizzando il servizio Forms con codice a barre, è possibile aggiungere codici a barre unidimensionali e bidimensionali ai PDF forms interattivi. Puoi quindi pubblicare i moduli con codice a barre su un sito web o distribuirli tramite e-mail o CD. Quando un utente compila un modulo codificato a barre utilizzando Adobe Reader, Acrobat Professional o Acrobat Standard, il codice a barre viene aggiornato automaticamente per codificare i dati del modulo forniti dall’utente. L’utente può inviare il modulo elettronicamente o stamparlo su carta e inviarlo per posta, fax o mano. In seguito sarà possibile estrarre i dati forniti dall'utente come parte di un flusso di lavoro automatizzato, indirizzando i dati tra i processi di approvazione e i sistemi aziendali.
Per ulteriori informazioni sul servizio Forms con codice a barre, consulta Guida di riferimento dei servizi per AEM Forms.
Decodifica dei dati del modulo con codice a barre decoding-barcoded-form-data
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 summary-of-steps
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 <install directory="">/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 Inclusione dei file della libreria Java di AEM Forms.
Creare un oggetto API client Forms 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 utilizzi l’API Java, crea un’ BarcodedFormsServiceClient
oggetto. Se utilizzi l’API del servizio web Forms con codice a barre, crea un’ BarcodedFormsServiceService
oggetto.
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 UTF-8 è specificato come codifica Character nel modulo e Hex è specificato nell'operazione di decodifica, il contenuto del codice a barre viene codificato come stringa Hex nel tag < 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, consulta 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.
Consulta anche
Decodificare i dati dei moduli con codice a barre utilizzando l’API Java
Decodificare i dati dei moduli con codice a barre utilizzando l’API del servizio web
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Decodificare i dati dei moduli con codice a barre utilizzando l’API Java decode-barcoded-form-data-using-the-java-api
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
BarcodedFormsServiceClient
oggetto utilizzando il relativo costruttore e passando unServiceClientFactory
oggetto che contiene proprietà di connessione. -
Ottieni un modulo PDF contenente dati con codice a barre
- Creare un
java.io.FileInputStream
oggetto che rappresenta il modulo PDF contenente dati con codice a barre tramite il relativo costruttore e che trasmette un valore stringa che specifica la posizione del documento PDF. - Creare un
com.adobe.idp.Document
mediante il costruttore e passando iljava.io.FileInputStream
oggetto.
- Creare un
-
Decodificare i dati dal modulo PDF
Decodificare i dati del modulo richiamando
BarcodedFormsServiceClient
dell'oggettodecode
e fornendo i seguenti valori:- Il
com.adobe.idp.Document
oggetto che contiene il modulo PDF. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre PDF417. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre della matrice dati. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre del codice QR. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre codabar. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre 128. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre 39. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre EAN-13. - A
java.lang.Boolean
oggetto che specifica se decodificare un codice a barre EAN-8. - A
com.adobe.livecycle.barcodedforms.CharSet
valore di enumerazione che specifica il valore di codifica del set di caratteri utilizzato nel codice a barre.
Il
decode
il metodo restituisce unorg.w3c.dom.Document
oggetto contenente dati modulo decodificati. - Il
-
Convertire i dati in un'origine dati XML
Converti i dati decodificati in dati XDP o XFDF richiamando il
BarcodedFormsServiceClient
dell'oggettoextractToXML
e fornendo i seguenti valori:- Il
org.w3c.dom.Document
oggetto contenente dati decodificati (assicurarsi di utilizzaredecode
valore restituito dal metodo). - A
com.adobe.livecycle.barcodedforms.Delimiter
valore di enumerazione che specifica il delimitatore di riga. È consigliabile specificareDelimiter.Carriage_Return
. - A
com.adobe.livecycle.barcodedforms.Delimiter
valore di enumerazione che specifica il delimitatore di campo. Ad esempio, specificaDelimiter.Tab
. - A
com.adobe.livecycle.barcodedforms.XMLFormat
valore di enumerazione che specifica se convertire i dati del codice a barre in dati XML XDP o XFDF. Ad esempio, specificaXMLFormat.XDP
per convertire i dati in dati XDP.
note note NOTE Non specificare gli stessi valori per i parametri delimitatore di riga e delimitatore di campo. Il
extractToXML
il metodo restituisce unjava.util.List
oggetto in cui ogni elemento è unorg.w3c.dom.Document
oggetto. Nel modulo è presente un elemento separato per ogni codice a barre. In altre parole, se nel modulo sono presenti quattro codici a barre, sono presenti quattro elementi nel modulo restituitojava.util.List
oggetto. - Il
-
Elabora i dati decodificati
- Effettua iterazione attraverso
java.util.List
oggetto per ottenere ciascunorg.w3c.dom.Document
oggetto presente nell'elenco. - Per ogni elemento dell’elenco, converti
org.w3c.dom.Document
oggetto a uncom.adobe.idp.Document
oggetto. (La logica dell’applicazione che converte unorg.w3c.dom.Document
oggetto in uncom.adobe.idp.Document
L'oggetto viene visualizzato nella decodifica dei dati del modulo codificati a barre utilizzando l'esempio dell'API Java). - Salvare i dati XML come file XML richiamando
com.adobe.idp.Document
dell'oggettocopyToFile
e il passaggio di un oggetto File che rappresenta il file XML.
- Effettua iterazione attraverso
Consulta anche
Quick Start (modalità SOAP): decodifica dei dati dei moduli con codice a barre tramite l’API Java
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Decodificare i dati dei moduli con codice a barre utilizzando l’API del servizio web decode-barcoded-form-data-using-the-web-service-api
Decodificare i dati del modulo utilizzando l’API (servizio web) dei moduli codificati a barre:
-
Includi file di progetto
- Creare un assembly client Microsoft .NET che utilizzi il WSDL del servizio Forms codificato a barre. Per informazioni, consulta Richiamare AEM Forms utilizzando la codifica Base64.
- Fare riferimento all'assembly client Microsoft .NET. Per informazioni, vedere "Riferimento all'assembly client .NET" in Richiamare AEM Forms utilizzando la codifica Base64.
-
Creare un oggetto API client Forms con codice a barre
Utilizzando l'assembly client Microsoft .NET che utilizza il WSDL del servizio Forms a codici a barre, creare un
BarcodedFormsServiceService
richiamando il relativo costruttore predefinito. -
Ottieni un modulo PDF contenente dati con codice a barre
- Creare un
BLOB
mediante il costruttore. IlBLOB
L'oggetto viene utilizzato per memorizzare un documento PDF contenente un codice a barre. - Creare un
System.IO.FileStream
dell'oggetto richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
System.IO.FileStream
oggetto. È possibile determinare le dimensioni della matrice di byte ottenendoSystem.IO.FileStream
dell'oggettoLength
proprietà. - Compilare la matrice di byte con i dati di flusso richiamando
System.IO.FileStream
dell'oggettoRead
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare il
BLOB
oggetto assegnando il relativobinaryData
con il contenuto della matrice di byte.
- Creare un
-
Decodificare i dati dal modulo PDF
Decodificare i dati del modulo richiamando
BarcodedFormsServiceService
dell'oggettodecode
e fornendo i seguenti valori:- Il
BLOB
oggetto che contiene il modulo PDF. - A
Boolean
oggetto che specifica se decodificare un codice a barre PDF417. - A
Boolean
oggetto che specifica se decodificare un codice a barre della matrice dati. - A
Boolean
oggetto che specifica se decodificare un codice a barre del codice QR. - A
Boolean
oggetto che specifica se decodificare un codice a barre codabar. - A
Boolean
oggetto che specifica se decodificare un codice a barre 128. - A
Bolean
oggetto che specifica se decodificare un codice a barre 39. - A
Boolean
oggetto che specifica se decodificare un codice a barre EAN-13. - A
Boolean
oggetto che specifica se decodificare un codice a barre EAN-8. - A
CharSet
valore di enumerazione che specifica il valore di codifica del set di caratteri utilizzato nel codice a barre.
Il
decode
il metodo restituisce un valore stringa contenente dati del modulo decodificati. - Il
-
Convertire i dati in un'origine dati XML
Converti i dati decodificati in dati XDP o XFDF richiamando il
BarcodedFormsServiceService
dell'oggettoextractToXML
e fornendo i seguenti valori:- Un valore stringa che contiene dati decodificati (assicurati di utilizzare il
decode
valore restituito dal metodo). - A
Delimiter
valore di enumerazione che specifica il delimitatore di riga. È consigliabile specificareDelimiter.Carriage_Return
. - A
Delimiter
valore di enumerazione che specifica il delimitatore di campo. Ad esempio, specificaDelimiter.Tab
. - A
XMLFormat
valore di enumerazione che specifica se convertire i dati del codice a barre in dati XML XDP o XFDF. Ad esempio, specificaXMLFormat.XDP
per convertire i dati in dati XDP.
note note NOTE Non specificare gli stessi valori per i parametri delimitatore di riga e delimitatore di campo. Il
extractToXML
il metodo restituisce unObject
in cui ogni elemento è unBLOB
dell'istanza. Nel modulo è presente un elemento separato per ogni codice a barre. In altre parole, se nel modulo sono presenti quattro codici a barre, sono presenti quattro elementi nel modulo restituitoObject
array. - Un valore stringa che contiene dati decodificati (assicurati di utilizzare il
-
Elabora i dati decodificati
- Creare un
System.IO.FileStream
richiamando il relativo costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF protetto. - Creare una matrice di byte che memorizza il contenuto dei dati
BLOB
oggetto restituito daencryptPDFUsingPassword
metodo. Popolare la matrice di byte ottenendo il valore dellaBLOB
dell'oggettobinaryData
membro dati. - Creare un
System.IO.BinaryWriter
oggetto richiamando il relativo costruttore e passando ilSystem.IO.FileStream
oggetto. - Scrivere il contenuto della matrice di byte in un file PDF richiamando
System.IO.BinaryWriter
dell'oggettoWrite
e passando la matrice di byte.
- Creare un
Consulta anche
Richiamare AEM Forms utilizzando la codifica Base64