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.

NOTE
Per ulteriori informazioni sul servizio Forms con codice a barre, vedere Riferimento ai servizi per AEM Forms.

Riepilogo dei passaggi summary-of-steps

Per decodificare dati da un modulo PDF, effettuare le seguenti operazioni:

  1. Includi file di progetto.
  2. Crea un oggetto API formsClient con codice a barre.
  3. Ottieni un modulo PDF contenente dati con codice a barre.
  4. Decodifica i dati dal modulo PDF.
  5. Convertire i dati in un'origine dati XML.
  6. 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.

NOTE
Il servizio Forms con codice a barre non riesce a decodificare i dati del codice a barre quando i parametri del delimitatore di riga e del delimitatore di campo hanno lo stesso valore

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:

  1. Includi file di progetto

    Includi i file JAR client nel percorso della classe del progetto Java.

  2. Creare un oggetto API client Forms con codice a barre

    Creare un oggetto BarcodedFormsServiceClient utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory che contiene proprietà di connessione.

  3. 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'oggetto java.io.FileInputStream.
  4. Decodificare i dati dal modulo PDF

    Decodificare i dati del modulo richiamando il metodo decode dell'oggetto BarcodedFormsServiceClient 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 oggetto org.w3c.dom.Document contenente dati del modulo decodificati.

  5. Convertire i dati in un'origine dati XML

    Convertire i dati decodificati in dati XDP o XFDF richiamando il metodo extractToXML dell'oggetto BarcodedFormsServiceClient e passando i valori seguenti:

    • Oggetto org.w3c.dom.Document contenente dati decodificati (assicurarsi di utilizzare il valore restituito dal metodo decode).
    • Valore di enumerazione com.adobe.livecycle.barcodedforms.Delimiter che specifica il delimitatore di riga. È consigliabile specificare Delimiter.Carriage_Return.
    • Valore di enumerazione com.adobe.livecycle.barcodedforms.Delimiter che specifica il delimitatore di campo. Specificare ad esempio Delimiter.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 esempio XMLFormat.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 oggetto java.util.List in cui ogni elemento è un oggetto org.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'oggetto java.util.List restituito sono presenti quattro elementi.

  6. Elabora i dati decodificati

    • Scorrere l'oggetto java.util.List per ottenere ogni oggetto org.w3c.dom.Document presente nell'elenco.
    • Per ogni elemento dell'elenco, convertire l'oggetto org.w3c.dom.Document in un oggetto com.adobe.idp.Document. (La logica dell'applicazione che converte un oggetto org.w3c.dom.Document in un oggetto com.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'oggetto com.adobe.idp.Document e passando un oggetto File che rappresenta il file XML.

Consulta anche

Quick Start (modalità SOAP): decodifica dei dati dei moduli codificati 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:

  1. Includi file di progetto

  2. 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.

  3. Ottieni un modulo PDF contenente dati con codice a barre

    • Creare un oggetto BLOB utilizzando il relativo costruttore. L'oggetto BLOB 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'oggetto System.IO.FileStream.
    • Compilare la matrice di byte con i dati di flusso richiamando il metodo Read dell'oggetto System.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.
  4. Decodificare i dati dal modulo PDF

    Decodificare i dati del modulo richiamando il metodo decode dell'oggetto BarcodedFormsServiceService 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.

  5. Convertire i dati in un'origine dati XML

    Convertire i dati decodificati in dati XDP o XFDF richiamando il metodo extractToXML dell'oggetto BarcodedFormsServiceService 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 specificare Delimiter.Carriage_Return.
    • Valore di enumerazione Delimiter che specifica il delimitatore di campo. Specificare ad esempio Delimiter.Tab.
    • Valore di enumerazione XMLFormat che specifica se convertire i dati del codice a barre in dati XML XDP o XFDF. Specificare ad esempio XMLFormat.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 array Object in cui ogni elemento è un'istanza BLOB. Nel modulo è presente un elemento separato per ogni codice a barre. In altre parole, se nel modulo sono presenti quattro codici a barre, nell'array Object restituito sono presenti quattro elementi.

  6. 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 metodo encryptPDFUsingPassword. Popolare la matrice di byte ottenendo il valore del membro dati binaryData dell'oggetto BLOB.
    • Creare un oggetto System.IO.BinaryWriter richiamandone il costruttore e passando l'oggetto System.IO.FileStream.
    • Scrivere il contenuto della matrice di byte in un file PDF richiamando il metodo Write dell'oggetto System.IO.BinaryWriter e passando la matrice di byte.

Consulta anche

Richiamare AEM Forms utilizzando la codifica Base64

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2