Comment extraire des informations d’un fichier déclencheur de script de commande d’impression, puis les réutiliser pour configurer une action d’impression de document
Question
Comment extraire des informations d’un fichier déclencheur contenant des instructions de script de commande d’impression, puis les utiliser pour définir des données variables et des options d’impression dans une action Imprimer un document ?
Réponse
Les méthodes suivantes permettent d’extraire des sources de données nommées à partir du fichier déclencheur contenant les paramètres du script de commande, puis d’utiliser ces données comme un fichier csv classique. Pour ces deux méthodes, vous devrez créer une Intégration de fichiers qui contient une commande Imprimer un document.
Utilisation des expressions régulières
La méthode la plus rapide consiste à utiliser des expressions régulières (regex). Voici tout le processus jusqu’à l’action Imprimer un document :
Les trois premières actions sont des actions de Recherche et Suppression. Voici les données utilisées dans l’exemple :
%BTW% /AF="C:\Users\framos\Desktop\TempFiles\PALLET-0.btw" /PRN="PFM_ADV_COP" /R=3 /P /D="%Trigger File Name%" /DD
%END%
AF1;AF2;AF3;AF4;AF5;A5;AF6;AF7;AF8;AF9;AF10;AF11;AF12;AF13;AF14;AF15;AF16;A16;AF17;AF18;AF19;AF20;A20;AF21;AF22;AF23;AF24;AF25;AF26;AF27;AF28;AF29;AF30;AF31;AF32;AF33;AF34;AF35;AF36;AF37;AF38;AF39;AF40;AF41;AF42;AF43;AF44;AF45;XF1;XF2;P1;END
;BLE-0230ABU;40000,00;;100000025;S;VERSEUR 29MM;BH0290ABU190I01;BLEDINA;69400;VILLEFRANCHE SUR SAONE;;111,38;BH0290ABU190I01;40000,00;PCE;170215;P;;1;100,00;OF000006;K;OF000006;;R;;PCE;Commission client;;40000,00;PCE;40000,00;PCE;UNITED CAPS MESSIA;39570 MESSIA SUR SORNE FRANCE;P01;;;;;CUS002474;;0;036610641000000258;0;63661064000055;02;4;2,00;TOTO est parti chez le boulanger pour acheter un croissant;END
1. Récupérer le nom du document à partir des données d’événement extraites du fichier déclencheur
L’expression régulière supprime tout ce qui se trouve avant et y compris /AF=" ainsi que tout ce qui suit et y compris " /PRN. Voici la regex à copier et utiliser :
(%BTW[\s\S]*\/AF=")|(" \/PRN[\s\S]*)
2. Récupérer le nom de l’imprimante à partir des données d’événement
Comme pour l’action précédente, celle-ci supprime tout ce qui n’est pas compris entre les guillemets du paramètre /PRN. Voici la regex à copier et utiliser :
(%BTW[\s\S]*\/PRN=")|(" \/R[\s\S]*)
3. Supprimer le script de commande pour que l’action Imprimer un document puisse utiliser les données du fichier déclencheur comme un fichier csv classique :
Cette regex supprime simplement les deux premières lignes et laisse le reste des données intact. Voici la regex à copier et utiliser :
(.BTW[\s\S]*END.)\u000D\u000A
Remarque lors de la création de vos propres Regex
BarTender utilise le symbole % pour indiquer des variables dans les Intégrations. Le script de commande en utilise deux, %BTW% et %END%. Si votre regex contient deux %, BarTender interprète tout ce qui se trouve entre eux comme une variable et peut afficher un avertissement : « Impossible d’appliquer la transformation car les critères de recherche contiennent un ou plusieurs noms non résolus. »
Si possible, évitez d’utiliser deux %. Si vous devez absolument les utiliser, comme dans la regex utilisée pour supprimer le script de commande ci-dessus, vous pouvez utiliser le caractère générique point à la place du % ou décocher la case variable dans l’action :
Impression du document avec les informations extraites
La dernière étape consiste à intégrer toutes ces informations dans votre action Imprimer un document. En utilisant les variables que vous avez créées, il suffit de les ajouter dans les champs Document et Imprimante de l’action Imprimer un document :
Vous pouvez également utiliser d’autres informations extraites du script de commande ici, comme le nombre de copies ou toute variable personnalisée que vous avez ajoutée. Vous pouvez ajouter une source de données nommée de cette façon, où %NamedVariable1% contient la donnée extraite du script de commande :
Plus d’informations
Si vous avez des difficultés avec les expressions régulières ou si vous ne souhaitez pas les utiliser, voici une méthode alternative pour extraire les informations.
Utilisation de Recherche et Suppression
Cette méthode est plus longue que la précédente. Elle est utile si vous ne voulez pas utiliser ou modifier des expressions régulières. Pour chaque élément que vous souhaitez extraire du script de commande, vous devrez effectuer cette série d’actions de recherche :
1. La première étape recherche /AF=" puis supprime tout ce qui précède :
2. La deuxième étape supprime le /AF=" utilisé lors de la première étape :
3. Maintenant, il faut supprimer tout ce qui suit le nom réel du fichier. Comme on ne connaît pas le nom du fichier à l’avance, on peut supprimer tout ce qui suit le guillemet, car ce sera le premier trouvé par la recherche :
4. Comme précédemment, il faut supprimer le guillemet.
Vous avez maintenant le chemin et le nom du fichier BTW. Pour chaque élément, comme l’imprimante ou toute autre information que vous souhaitez extraire du script de commande, il faudra répéter ces quatre étapes.