Utilizzo di moduli con codice a barre working-with-barcoded-forms
Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente 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, vedere Riferimento ai 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 <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.
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
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 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.
note note NOTE 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
Consulta anche
Quick Start (modalità SOAP): decodifica dei dati dei moduli codificati a barre tramite l’API Java
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, vedere 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 servizio WSDL dei moduli codificati a barre, creare un oggetto
BarcodedFormsServiceService
richiamando il relativo costruttore predefinito. -
Ottieni un modulo PDF contenente dati con codice a barre
- Creare un oggetto
BLOB
utilizzando il relativo costruttore. L'oggettoBLOB
viene utilizzato per memorizzare un documento PDF contenente un codice a barre. - Creare un oggetto
System.IO.FileStream
richiamandone il 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 dell'oggetto
System.IO.FileStream
. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietàLength
dell'oggettoSystem.IO.FileStream
. - Compilare la matrice di byte con i dati di flusso richiamando il metodo
Read
dell'oggettoSystem.IO.FileStream
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Compilare l'oggetto
BLOB
assegnando la relativa proprietàbinaryData
al contenuto della matrice di byte.
- Creare un oggetto
-
Decodificare i dati dal modulo PDF
Decodificare i dati del modulo richiamando il metodo
decode
dell'oggettoBarcodedFormsServiceService
e passando i valori seguenti:- L'oggetto
BLOB
che contiene il modulo PDF. - Oggetto
Boolean
che specifica se decodificare un codice a barre PDF417. - Oggetto
Boolean
che specifica se decodificare un codice a barre della matrice dati. - Oggetto
Boolean
che specifica se decodificare un codice a barre del codice QR. - Oggetto
Boolean
che specifica se decodificare un codice a barre codabar. - Oggetto
Boolean
che specifica se decodificare un codice a barre 128. - Oggetto
Bolean
che specifica se decodificare un codice a barre 39. - Oggetto
Boolean
che specifica se decodificare un codice a barre EAN-13. - Oggetto
Boolean
che specifica se decodificare un codice a barre EAN-8. - Valore di enumerazione
CharSet
che specifica il valore di codifica del set di caratteri utilizzato nel codice a barre.
Il metodo
decode
restituisce un valore stringa 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'oggettoBarcodedFormsServiceService
e passando i valori seguenti:- Valore stringa che contiene dati decodificati (assicurarsi di utilizzare il valore restituito dal metodo
decode
). - Valore di enumerazione
Delimiter
che specifica il delimitatore di riga. È consigliabile specificareDelimiter.Carriage_Return
. - Valore di enumerazione
Delimiter
che specifica il delimitatore di campo. Specificare ad esempioDelimiter.Tab
. - Valore di enumerazione
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.
note note NOTE Non specificare gli stessi valori per i parametri delimitatore di riga e delimitatore di campo. Il metodo
extractToXML
restituisce un arrayObject
in cui ogni elemento è un'istanzaBLOB
. Nel modulo è presente un elemento separato per ogni codice a barre. In altre parole, se nel modulo sono presenti quattro codici a barre, nell'arrayObject
restituito sono presenti quattro elementi. - Valore stringa che contiene dati decodificati (assicurarsi di utilizzare il valore restituito dal metodo
-
Elabora i dati decodificati
- Creare un oggetto
System.IO.FileStream
richiamandone il 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 dell'oggetto
BLOB
restituito dal metodoencryptPDFUsingPassword
. Popolare la matrice di byte ottenendo il valore del membro datibinaryData
dell'oggettoBLOB
. - Creare un oggetto
System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggettoSystem.IO.FileStream
. - Scrivere il contenuto della matrice di byte in un file PDF richiamando il metodo
Write
dell'oggettoSystem.IO.BinaryWriter
e passando la matrice di byte.
- Creare un oggetto
Consulta anche
Richiamare AEM Forms utilizzando la codifica Base64