Décoder les données Barcoded 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 puissent être décodées d’un formulaire PDF (ou d’une image), un utilisateur doit remplir le formulaire avec des données.
Résumé des étapes
Pour décoder les données d’un formulaire PDF, procédez comme suit :
- Incluez les fichiers de projet.
- Créez un objet API client Barcoded Forms.
- Obtenez un formulaire PDF contenant des données à code à barres.
- Décodez les données du formulaire PDF.
- Convertissez les données en une source de données XML.
- Traitez les données décodées.
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.
Vous devez ajouter les fichiers JAR suivants au chemin d’accès aux classes de votre projet :
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-barcodedforms-client.jar
- adobe-utilities.jar (Requis si AEM Forms est déployé sur JBoss)
- jbossall-client.jar (Requis si AEM Forms est déployé sur JBoss)
- xercesImpl.jar (situé dans <répertoire dʼinstallation>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs\thirdparty)
Si AEM Forms est déployé sur un serveur d’applications J2EE pris en charge autre que JBoss, vous devez remplacer les fichiers adobe-utilities.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, consultez la section Inclure des fichiers de bibliothèque Java AEM Forms.
Créer un objet API client Barcoded Forms
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 Barcoded Forms, créez un objet BarcodedFormsServiceService
.
Obtenir un formulaire PDF contenant des données à code à barres
Obtenez un formulaire PDF doté dʼun code à barres contenant des données utilisateur.
Décoder les données du formulaire PDF
Une fois que vous avez 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 :
- Codes à barres PDF417.
- Codes à barres DataMatrix.
- Codes à barres de type code QR.
- Codes à barres Codabar.
- Codes à barres Code 128.
- Codes à barres Code 39.
- Codes à barres EAN-13.
- Codes à barres EAN-8.
La saisie du jeu de caractères au format hexadécimal dans l’API de décodage implique que le contenu du code à barres est codé sous forme de chaîne hexadécimale. Par exemple, si UTF-8 est spécifié comme 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é sous la forme d’une chaîne hexadécimale dans l’élément < xb:content
> dans la sortie décodée. Vous pouvez convertir cette valeur Hex pour obtenir le contenu d’origine en créant une logique d’application dans votre application cliente.
Convertir les données en source de données XML
Une fois que vous avez 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, consultez la section Importer des données de formulaire.
Traiter des données décodées
Vous pouvez traiter les données converties pour répondre aux besoins de votre entreprise. Par exemple, une fois que vous avez 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.
Décoder les données de formulaire à code à barres à l’aide de l’API Java
Pour décoder les données de formulaire à l’aide de l’API Barcoded Forms (Java), procédez comme suit :
-
Inclure les fichiers du projet
Incluez les fichiers JAR clients dans le chemin de classe de votre projet Java.
-
Créer un objet API client Barcoded Forms
Créez un objet
BarcodedFormsServiceClient
en utilisant son constructeur et en transmettant un objetServiceClientFactory
contenant des propriétés de connexion. -
Obtenir un formulaire PDF contenant des données à code à barres
- Créez un objet
java.io.FileInputStream
qui représente le formulaire PDF contenant des données à code à barres en utilisant son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du document PDF. - Créez un objet
com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objetjava.io.FileInputStream
.
- Créez un objet
-
Décoder les données du formulaire PDF
Décodez les données du formulaire en appelant la méthode
decode
de l’objetBarcodedFormsServiceClient
et en transmettant les valeurs suivantes :- L’objet
com.adobe.idp.Document
contenant le formulaire PDF. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres PDF417. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres DataMatrix. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres de type code QR. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres Codabar. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres 128. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres 39. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres EAN-13. - Un objet
java.lang.Boolean
spécifiant s’il faut décoder un code à barres EAN-8. - Une valeur d’énumération
com.adobe.livecycle.barcodedforms.CharSet
spécifiant la valeur de codage du jeu de caractères utilisé dans le code à barres.
La méthode
decode
renvoie un objetorg.w3c.dom.Document
contenant des données de formulaire décodées. - L’objet
-
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’objetBarcodedFormsServiceClient
et en transmettant les valeurs suivantes :- L’objet
org.w3c.dom.Document
qui contient des données décodées (veillez à utiliser la valeur de retour de la méthodedecode
). - Une valeur d’énumération
com.adobe.livecycle.barcodedforms.Delimiter
spécifiant le délimiteur de ligne. Il est recommandé de spécifierDelimiter.Carriage_Return
. - Une valeur d’énumération
com.adobe.livecycle.barcodedforms.Delimiter
spécifiant le délimiteur de champ. Par exemple, spécifiezDelimiter.Tab
. - Une valeur d’énumération
com.adobe.livecycle.barcodedforms.XMLFormat
spécifiant s’il faut convertir les données du code à barres en données XML XDP ou XFDF. Par exemple, spécifiezXMLFormat.XDP
pour convertir les données en données XDP.
REMARQUE
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 objetjava.util.List
où chaque élément est un objetorg.w3c.dom.Document
. Il existe un élément distinct pour chaque code à barres situé sur le formulaire. En d’autres termes, s’il y a quatre codes à barres sur le formulaire, il y a quatre éléments dans l’objetjava.util.List
renvoyé. - L’objet
-
Traiter les données décodées
- Effectuez une itération au sein de l’objet
java.util.List
pour obtenir chaque objetorg.w3c.dom.Document
qui se trouve dans la liste. - Pour chaque élément de la liste, convertissez l’objet
org.w3c.dom.Document
en un objetcom.adobe.idp.Document
. (La logique d’application qui convertit un objetorg.w3c.dom.Document
en un objetcom.adobe.idp.Document
est illustrée dans l’exemple Décoder des données de formulaire à code à barres à l’aide de l’API Java). - Enregistrez les données XML en tant que fichier XML en appelant la méthode
copyToFile
de l’objetcom.adobe.idp.Document
et en transmettant un objet File représentant le fichier XML.
- Effectuez une itération au sein de l’objet