Les exemples et les exemples de ce document sont réservés à l’environnement AEM Forms on JEE.
Le service Barcoded Forms automatise la capture de données à partir de formulaires de remplissage et d’impression et intègre les informations capturées aux systèmes informatiques de base d’une entreprise.
Grâce au service Barcoded Forms, vous pouvez ajouter des codes à barres unidimensionnels et bidimensionnels aux PDF forms interactifs. Vous pouvez ensuite publier les formulaires à code-barres sur un site web ou les distribuer par email ou CD. Lorsqu’un utilisateur remplit un formulaire à code à barres à l’aide d’Adobe Reader, d’Acrobat Professional ou d’Acrobat Standard, le code à barres est automatiquement mis à jour pour coder les données de formulaire fournies par l’utilisateur. L’utilisateur peut envoyer le formulaire par voie électronique ou l’imprimer sur papier et le soumettre par courrier, par fax ou main. Vous pouvez ensuite extraire les données fournies par l’utilisateur dans le cadre d’un workflow automatisé, en acheminant les données entre les processus d’approbation et les systèmes d’entreprise.
Pour plus d’informations sur le service Barcoded Forms, voir Référence des services pour AEM Forms.
Vous pouvez utiliser l’API du service Barcoded Forms pour décoder les données d’un formulaire PDF ou d’une image contenant un code à barres. Le décodage des données de formulaire consiste à extraire les données qui se trouvent dans le code à barres. Avant que les données ne puissent être décodées à partir d’un formulaire PDF (ou d’une image), l’utilisateur doit remplir le formulaire avec des données.
Pour plus d’informations sur le service Barcoded Forms, voir Référence des services pour AEM Forms.
Pour décoder les données d’un formulaire PDF, procédez comme suit :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services web, veillez à inclure les fichiers proxy.
Les fichiers JAR suivants doivent être ajoutés au chemin d’accès aux classes de votre projet :
Si AEM Forms est déployé sur un serveur d’applications J2EE pris en charge qui n’est pas JBOSS, vous devez remplacer adobe-utility.jar et jbossall-client.jar par des fichiers JAR spécifiques au serveur d’applications J2EE sur lequel AEM Forms est déployé. Pour plus d’informations sur l’emplacement de tous les fichiers JAR AEM Forms, voir Inclusion des fichiers de bibliothèque Java AEM Forms.
Création d’un objet API client de formulaires à code à barres
Avant de pouvoir effectuer par programmation une opération de service Barcoded Forms, vous devez créer un client de service Barcoded Forms. Si vous utilisez l’API Java, créez un objet BarcodedFormsServiceClient
. Si vous utilisez l’API du service Web de formulaires à code à barres, créez un objet BarcodedFormsServiceService
.
Obtention d’un formulaire PDF contenant des données à code à barres
Vous devez obtenir un formulaire PDF contenant un code à barres contenant des données utilisateur.
Décoder les données du formulaire PDF
Après avoir obtenu un formulaire PDF (ou une image) contenant un code à barres, vous pouvez décoder les données. Le service Barcoded Forms prend en charge les types de codes à barres suivants :
L’entrée de jeu de caractères au format hexadécimal dans l’API de décodage implique que le contenu du code à barres soit codé en tant que chaîne hexadécimale. Par exemple, si UTF-8 est spécifié en tant que codage de caractères dans le formulaire et que Hex est spécifié dans l’opération de décodage, le contenu du code à barres est codé en tant que chaîne hexadécimale dans l’élément < <a0/" dans la sortie décodée. xb:content
Vous pouvez convertir cette valeur Hex pour obtenir le contenu d’origine en créant la logique d’application dans votre application cliente.
Convertir les données en source de données XML
Après avoir décodé les données de formulaire, vous pouvez les convertir en données XDP ou XFDF. Supposons, par exemple, que vous souhaitiez importer les données dans un autre formulaire. Pour importer les données dans un formulaire XFA, vous devez convertir les données en données XDP. Pour plus d’informations, voir Importation de données de formulaire.
Traitement des données décodées
Vous pouvez traiter les données converties pour répondre aux besoins de votre entreprise. Par exemple, après avoir décodé et converti les données, vous pouvez les enregistrer dans un fichier, les stocker dans une base de données d’entreprise, remplir un autre formulaire, etc. Cette section explique comment enregistrer les données converties sous la forme d’un fichier XML.
Le service Barcoded Forms ne parvient pas à décoder les données de code à barres lorsque le délimiteur de ligne et les paramètres de délimiteur de champ ont la même valeur.
Voir également
Décodez les données de formulaire à code à barres à l’aide de l’API Java.
Décodez les données de formulaire à code à barres à l’aide de l’API du service Web.
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Décodez les données de formulaire à l’aide de l’API Barcoded Forms (Java) :
Inclure les fichiers de projet
Incluez les fichiers JAR client dans le chemin de classe de votre projet Java.
Création d’un objet API client de formulaires à code à barres
Créez un objet BarcodedFormsServiceClient
en utilisant son constructeur et en transmettant un objet ServiceClientFactory
contenant des propriétés de connexion.
Obtention d’un formulaire PDF contenant des données à code à barres
java.io.FileInputStream
qui représente le formulaire PDF contenant des données à code à barres à l’aide de son constructeur et en transmettant une valeur string qui spécifie l’emplacement du document PDF.com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objet java.io.FileInputStream
.Décoder les données du formulaire PDF
Décodez les données du formulaire en appelant la méthode decode
de l’objet BarcodedFormsServiceClient
et en transmettant les valeurs suivantes :
com.adobe.idp.Document
contenant le formulaire PDF.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres PDF417.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres de la matrice de données.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres de code QR.java.lang.Boolean
spécifiant s’il faut décoder un code à barres codabar.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres 128.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres 39.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres EAN-13.java.lang.Boolean
qui spécifie s’il faut décoder un code à barres EAN-8.com.adobe.livecycle.barcodedforms.CharSet
qui spécifie la valeur d’encodage du jeu de caractères utilisée dans le code à barres.La méthode decode
renvoie un objet org.w3c.dom.Document
contenant des données de formulaire décodées.
Convertir les données en source de données XML
Convertissez les données décodées en données XDP ou XFDF en appelant la méthode extractToXML
de l’objet BarcodedFormsServiceClient
et en transmettant les valeurs suivantes :
org.w3c.dom.Document
contenant des données décodées (veillez à utiliser la valeur renvoyée par la méthode decode
).com.adobe.livecycle.barcodedforms.Delimiter
qui spécifie le délimiteur de ligne. Il est recommandé de spécifier Delimiter.Carriage_Return
.com.adobe.livecycle.barcodedforms.Delimiter
qui spécifie le délimiteur de champ. Par exemple, spécifiez Delimiter.Tab
.com.adobe.livecycle.barcodedforms.XMLFormat
qui spécifie s’il faut convertir les données du code à barres en données XDP ou XFDF XML. Par exemple, spécifiez XMLFormat.XDP
pour convertir les données en données XDP.Ne spécifiez pas les mêmes valeurs pour les paramètres de délimiteur de ligne et de délimiteur de champ.
La méthode extractToXML
renvoie un objet java.util.List
où chaque élément est un objet org.w3c.dom.Document
. Il existe un élément distinct pour chaque code à barres situé sur le formulaire. En d’autres termes, s’il existe quatre codes à barres sur le formulaire, il y a quatre éléments dans l’objet java.util.List
renvoyé.
Traitement des données décodées
java.util.List
pour obtenir chaque objet org.w3c.dom.Document
situé dans la liste.org.w3c.dom.Document
en objet com.adobe.idp.Document
. (La logique d’application qui convertit un objet org.w3c.dom.Document
en objet com.adobe.idp.Document
s’affiche dans les données de formulaire à code à barres de décodage à l’aide de l’exemple d’API Java).copyToFile
de l’objet com.adobe.idp.Document
et en transmettant un objet File représentant le fichier XML.Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Décodez les données de formulaire à l’aide de l’API Barcoded Forms (service Web) :
Inclure les fichiers de projet
Création d’un objet API client de formulaires à code à barres
À l’aide de l’assemblage client Microsoft .NET qui utilise le WSDL du service Barcoded Forms, créez un objet BarcodedFormsServiceService
en appelant son constructeur par défaut.
Obtention d’un formulaire PDF contenant des données à code à barres
BLOB
en utilisant son constructeur. L’objet BLOB
est utilisé pour stocker un document PDF contenant un code à barres.System.IO.FileStream
en appelant son constructeur et en transmettant une valeur string qui représente l’emplacement du fichier du document PDF et le mode d’ouverture du fichier.System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriété System.IO.FileStream
de l’objet Length
.System.IO.FileStream
de l’objet Read
et en transmettant le tableau d’octets, la position de départ et la longueur du flux à lire.BLOB
en attribuant sa propriété binaryData
avec le contenu du tableau d’octets.Décoder les données du formulaire PDF
Décodez les données du formulaire en appelant la méthode decode
de l’objet BarcodedFormsServiceService
et en transmettant les valeurs suivantes :
BLOB
contenant le formulaire PDF.Boolean
qui spécifie s’il faut décoder un code à barres PDF417.Boolean
qui spécifie s’il faut décoder un code à barres de la matrice de données.Boolean
qui spécifie s’il faut décoder un code à barres de code QR.Boolean
spécifiant s’il faut décoder un code à barres codabar.Boolean
qui spécifie s’il faut décoder un code à barres 128.Bolean
qui spécifie s’il faut décoder un code à barres 39.Boolean
qui spécifie s’il faut décoder un code à barres EAN-13.Boolean
qui spécifie s’il faut décoder un code à barres EAN-8.CharSet
qui spécifie la valeur d’encodage du jeu de caractères utilisée dans le code à barres.La méthode decode
renvoie une valeur string qui contient les données de formulaire décodées.
Convertir les données en source de données XML
Convertissez les données décodées en données XDP ou XFDF en appelant la méthode extractToXML
de l’objet BarcodedFormsServiceService
et en transmettant les valeurs suivantes :
decode
).Delimiter
qui spécifie le délimiteur de ligne. Il est recommandé de spécifier Delimiter.Carriage_Return
.Delimiter
qui spécifie le délimiteur de champ. Par exemple, spécifiez Delimiter.Tab
.XMLFormat
qui spécifie s’il faut convertir les données du code à barres en données XDP ou XFDF XML. Par exemple, spécifiez XMLFormat.XDP
pour convertir les données en données XDP.Ne spécifiez pas les mêmes valeurs pour les paramètres de délimiteur de ligne et de délimiteur de champ.
La méthode extractToXML
renvoie un tableau Object
où chaque élément est une instance BLOB
. Il existe un élément distinct pour chaque code à barres situé sur le formulaire. En d’autres termes, s’il existe quatre codes à barres sur le formulaire, il y a quatre éléments dans le tableau Object
renvoyé.
Traitement des données décodées
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur string qui représente l’emplacement du fichier du document PDF sécurisé.BLOB
renvoyé par la méthode encryptPDFUsingPassword
. Renseignez le tableau d’octets en obtenant la valeur du membre de données binaryData
de l’objet BLOB
.System.IO.BinaryWriter
en appelant son constructeur et en transmettant l’objet System.IO.FileStream
.System.IO.BinaryWriter
de l’objet Write
et en transmettant le tableau d’octets.Voir également