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
BarcodedFormsServiceClientutilizzando il relativo costruttore e passando un oggettoServiceClientFactoryche contiene proprietà di connessione. -
Ottieni un modulo PDF contenente dati con codice a barre
- Creare un oggetto
java.io.FileInputStreamche 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.Documentutilizzando 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
decodedell'oggettoBarcodedFormsServiceCliente passando i valori seguenti:- L'oggetto
com.adobe.idp.Documentche contiene il modulo PDF. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre PDF417. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre della matrice dati. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre del codice QR. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre codabar. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre 128. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre 39. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre EAN-13. - Oggetto
java.lang.Booleanche specifica se decodificare un codice a barre EAN-8. - Valore di enumerazione
com.adobe.livecycle.barcodedforms.CharSetche specifica il valore di codifica del set di caratteri utilizzato nel codice a barre.
Il metodo
decoderestituisce un oggettoorg.w3c.dom.Documentcontenente 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
extractToXMLdell'oggettoBarcodedFormsServiceCliente passando i valori seguenti:- Oggetto
org.w3c.dom.Documentcontenente dati decodificati (assicurarsi di utilizzare il valore restituito dal metododecode). - Valore di enumerazione
com.adobe.livecycle.barcodedforms.Delimiterche specifica il delimitatore di riga. È consigliabile specificareDelimiter.Carriage_Return. - Valore di enumerazione
com.adobe.livecycle.barcodedforms.Delimiterche specifica il delimitatore di campo. Specificare ad esempioDelimiter.Tab. - Valore di enumerazione
com.adobe.livecycle.barcodedforms.XMLFormatche specifica se convertire i dati del codice a barre in dati XML XDP o XFDF. Specificare ad esempioXMLFormat.XDPper 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
extractToXMLrestituisce un oggettojava.util.Listin 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.Listrestituito sono presenti quattro elementi. - Oggetto
-
Elabora i dati decodificati
- Scorrere l'oggetto
java.util.Listper ottenere ogni oggettoorg.w3c.dom.Documentpresente nell'elenco. - Per ogni elemento dell'elenco, convertire l'oggetto
org.w3c.dom.Documentin un oggettocom.adobe.idp.Document. (La logica dell'applicazione che converte un oggettoorg.w3c.dom.Documentin un oggettocom.adobe.idp.Documentviene visualizzata nella decodifica dei dati del modulo codificati a barre tramite l'esempio dell'API Java). - Salvare i dati XML come file XML richiamando
copyToFiledell'oggettocom.adobe.idp.Documente 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
BarcodedFormsServiceServicerichiamando il relativo costruttore predefinito. -
Ottieni un modulo PDF contenente dati con codice a barre
- Creare un oggetto
BLOButilizzando il relativo costruttore. L'oggettoBLOBviene utilizzato per memorizzare un documento PDF contenente un codice a barre. - Creare un oggetto
System.IO.FileStreamrichiamandone 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àLengthdell'oggettoSystem.IO.FileStream. - Compilare la matrice di byte con i dati di flusso richiamando il metodo
Readdell'oggettoSystem.IO.FileStreame passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Compilare l'oggetto
BLOBassegnando la relativa proprietàbinaryDataal contenuto della matrice di byte.
- Creare un oggetto
-
Decodificare i dati dal modulo PDF
Decodificare i dati del modulo richiamando il metodo
decodedell'oggettoBarcodedFormsServiceServicee passando i valori seguenti:- L'oggetto
BLOBche contiene il modulo PDF. - Oggetto
Booleanche specifica se decodificare un codice a barre PDF417. - Oggetto
Booleanche specifica se decodificare un codice a barre della matrice dati. - Oggetto
Booleanche specifica se decodificare un codice a barre del codice QR. - Oggetto
Booleanche specifica se decodificare un codice a barre codabar. - Oggetto
Booleanche specifica se decodificare un codice a barre 128. - Oggetto
Boleanche specifica se decodificare un codice a barre 39. - Oggetto
Booleanche specifica se decodificare un codice a barre EAN-13. - Oggetto
Booleanche specifica se decodificare un codice a barre EAN-8. - Valore di enumerazione
CharSetche specifica il valore di codifica del set di caratteri utilizzato nel codice a barre.
Il metodo
decoderestituisce 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
extractToXMLdell'oggettoBarcodedFormsServiceServicee passando i valori seguenti:- Valore stringa che contiene dati decodificati (assicurarsi di utilizzare il valore restituito dal metodo
decode). - Valore di enumerazione
Delimiterche specifica il delimitatore di riga. È consigliabile specificareDelimiter.Carriage_Return. - Valore di enumerazione
Delimiterche specifica il delimitatore di campo. Specificare ad esempioDelimiter.Tab. - Valore di enumerazione
XMLFormatche specifica se convertire i dati del codice a barre in dati XML XDP o XFDF. Specificare ad esempioXMLFormat.XDPper 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
extractToXMLrestituisce un arrayObjectin 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'arrayObjectrestituito 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.FileStreamrichiamandone 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
BLOBrestituito dal metodoencryptPDFUsingPassword. Popolare la matrice di byte ottenendo il valore del membro datibinaryDatadell'oggettoBLOB. - Creare un oggetto
System.IO.BinaryWriterrichiamandone il costruttore e passando l'oggettoSystem.IO.FileStream. - Scrivere il contenuto della matrice di byte in un file PDF richiamando il metodo
Writedell'oggettoSystem.IO.BinaryWritere passando la matrice di byte.
- Creare un oggetto
Consulta anche
Richiamare AEM Forms utilizzando la codifica Base64