Les fichiers de commande contiennent des instructions pour chaque processus d'impression. Ces instructions sont exprimées avec les commandes NiceLabel. Les commandes sont exécutées une par une du début à la fin du fichier. Les fichiers supportent le formatage Unicode, ils peuvent donc comporter des données multilingues. Les fichiers de commande se présentent sous trois formes.
Les commandes disponibles dans les fichiers de commande CSV forment un sous-ensemble des commandes NiceLabel. Les commandes suivantes sont disponibles : LABEL, SET, PORT, PRINTER et PRINT.
CSV signifie valeurs séparées par une virgule. C'est un fichier texte dans lequel les valeurs sont séparées par une virgule (,
). Le fichier texte peut contenir des valeurs Unicode (important pour les données multilingues). Chaque ligne d'un fichier de commande CSV contient les commandes pour une action d'impression d'étiquette.
La première ligne du fichier de commande CSV doit contenir les noms des commandes et des variables. L'ordre des noms de commandes n'est pas important, mais toutes les données d'un même flux d'impression doivent avoir la même structure. Les paires de variables nom-valeur
sont extraites automatiquement et envoyées à l'étiquette. Si la variable d'un nom du CSV n'existe pas dans l'étiquette, aucun message d'erreur n'est affiché.
L'exemple présente une vue structurelle des champs utilisables dans le fichier de commande CSV.
@Label,@Printer,@Quantity,@Skip,@IdenticalCopies,NumberOfSets,@Port,Product_ID, Product_Name label1.nlbl, CAB A3 203 DPI, 100, , , , , 100A, Product 1 label2.nlbl, Zebra R-402, 20, , , , , 200A, Product 2
Caractéristiques du fichier de Commande CSV
Les commandes de la première ligne de données doivent être exprimées avec le caractère (@
). Les champs sans @ au début sont des noms de variables. Ces champs sont extraits avec leurs valeurs en tant que paires nom-valeur
.
-
@Label: Spécifie le nom d'étiquette à utiliser. Il est conseillé d'inclure le chemin et le nom du fichier. Il faut que l'utilisateur du service puisse accéder au fichier. Pour plus d'informations, consulter l'article Accès aux Ressources de Réseau Partagées dans le guide utilisateur de NiceLabel Automation. C'est un champ obligatoire.
-
@Printer: Spécifie l'imprimante à utiliser. Il remplace l'imprimante définie dans l'étiquette. Il faut que l'utilisateur du service puisse accéder à l'imprimante. Pour plus d'informations, consulter l'article Accès aux Ressources de Réseau Partagées. C'est un champ facultatif.
-
@Quantity: Spécifie le nombre d'étiquettes à imprimer. Valeurs possibles : valeur numérique, VARIABLE ou UNLIMITED. Pour plus d'informations, consulter l'article Imprimer une étiquette. C'est un champ obligatoire.
-
@Skip: Spécifie le nombre d'étiquettes à sauter au début de la première page imprimée. Cette fonctionnalité est utile quand la feuille d'étiquettes utilisée est déjà partiellement imprimée. C'est un champ facultatif.
-
@IdenticalCopies: Spécifie le nombre de copies d'étiquettes à imprimer pour chaque étiquette unique. Cette fonctionnalité est utile à l'impression d'étiquettes contenant des données d'une base de données, pour utiliser des compteurs et pour faire des copies d'étiquettes. C'est un champ facultatif.
-
@NumberOfSets: Spécifie combien de fois le processus d'impression complet doit être répété. Chaque jeu d'étiquettes est égal à une seule occurrence du processus d'impression. C'est un champ facultatif.
-
@Port: Spécifie le nom du port pour l'imprimante. Il peut remplacer le port par défaut spécifié dans le pilote d'imprimante. Il permet aussi de rediriger l'impression vers un fichier. C'est un champ facultatif.
-
Autres noms de champs : Tous les autres champs définissent les noms des variables de l'étiquette. Le contenu des champs est enregistré dans la variable ayant le même nom avec sa valeur.
Le fichier de commande JOB est un fichier texte contenant les commandes NiceLabel. Les commandes s'exécutent du haut vers le bas. Les commandes commencent habituellement par LABEL (pour ouvrir l'étiquette), ensuite SET (pour régler la valeur de variable), et finalement PRINT (pour imprimer l'étiquette). Pour plus d'informations concernant les commandes disponibles, consulter l'article Utilisation de commandes personnalisées.
Ce fichier JOB ouvre label2.nlbl
, définit les valeurs des variables et imprime une seule étiquette. Comme aucune commande PRINTER n'est utilisée pour rediriger l'impression, l'étiquette est imprimée en utilisant l'imprimante définie dans l'étiquette.
LABEL "label2.nlbl" SET code="12345" SET article="FUSILLI" SET ean="383860026501" SET weight="1,0 kg" PRINT 1
Les commandes disponibles dans les fichiers de commande CSV sont un sous-ensemble des commandes NiceLabel. Les commandes suivantes sont disponibles : LOGIN, LABEL, SET, PORT, PRINTER, SESSIONEND, SESSIONSTART et SESSIONPRINT. La syntaxe de ces commandes varie si elles sont utilisées dans un fichier XML.
L'élément de base du fichier de commande XML est <Nice_Commands>
. L'élément qui doit suivre est <Label>
. L'élément spécifie l'étiquette à utiliser.
Il y a deux méthodes pour lancer l'impression d'étiquettes : imprimer les étiquettes normalement en utilisant l'élément <Print_Job>
, ou imprimer les étiquettes en sessions en utilisant l'élément <Session_Print_Job>
. Il est aussi possible de changer l'imprimante sur laquelle les étiquettes s'impriment et de paramétrer les valeurs de variables.
L'exemple ci-dessous présente une vue structurelle des éléments et de leurs attributs tels qu'ils peuvent être utilisés dans un fichier XML.
<nice_commands> <label name="label1.nlbl"> <session_print_job printer="CAB A3 203DPI" skip=0 job_name="job name 1" print_to_file="filename 1"> <session quantity="10"> <variable name="variable name 1" >variable value 1</variable> </session> </session_print_job> <print_job printer="Zebra R-402" quantity="10" skip=0 identical_copies=1 number_of_sets="1" job_name="job name 2" print_to_file="filename 2"> <variable name="variable1" >1</variable> <variable name="variable2" >2</variable> <variable name="variable3" >3</variable> </print_job> </label> </nice_commands>
Exemple de fichier de commande XML
Cette section contient la description de structure du fichier de commande XML. Il y a différents éléments qui contiennent des attributs. Certains attributs sont obligatoires, d'autres sont en option. Certains attributs peuvent seulement comporter des valeurs prédéfinies, d'autres peuvent avoir des valeurs personnalisées.
-
<Nice_Commands> : Élément racine.
-
<Label>: Spécifie le fichier d'étiquette à ouvrir. Si l'étiquette est déjà ouverte, elle ne se rouvrira pas. Le fichier d'étiquette doit être accessible depuis cet ordinateur. Pour plus d'informations, consulter l'article Accès aux Ressources de Réseau Partagées. Cet élément peut se trouver plusieurs fois dans le fichier de commande.
-
Nom : Cet attribut contient le nom d'étiquette. Mettre éventuellement le nom du chemin de l'étiquette. Obligatoire.
-
-
<Print_Job>: L'élément qui contient les données d'un travail d'impression. Cet élément peut se trouver plusieurs fois dans le fichier de commande.
-
Imprimante : À utiliser pour remplacer l'imprimante définie dans l'étiquette. L'imprimante doit être accessible depuis cet ordinateur. Pour plus d'informations, consulter l'article Accès aux Ressources de Réseau Partagées. Optionnel.
-
Quantité : À utiliser pour spécifier le nombre d'étiquettes à imprimer. Valeurs possibles : valeur numérique, VARIABLE ou UNLIMITED. Pour plus d'informations concernant les paramètres, consulter l'article Imprimer l'étiquette. Obligatoire.
-
Sauter : À utiliser pour spécifier le nombre d'étiquettes à sauter au début. Élément utile pour imprimer des planches d'étiquettes sur une imprimante laser, quand les premières étiquettes sont déjà imprimées. Pour plus d'informations, consulter l'article Imprimer une étiquette. Optionnel.
-
Job_name : À utiliser pour spécifier le nom du travail d'impression. Le nom spécifié est visible dans le spouleur d'impression. Pour plus d'informations, consulter l'article Paramétrer le nom du travail d'impression. Optionnel.
-
Print_to_file : À utiliser pour spécifier le nom du fichier dans lequel il faut enregistrer les commandes de l'imprimante. Pour plus d'informations, consulter l'article Rediriger l'impression vers un fichier. Optionnel.
-
Identical_copies : À utiliser pour spécifier le nombre de copies à imprimer pour chaque étiquette. Pour plus d'informations, consulter l'article Imprimer une étiquette.
-
-
<Session_Print_Job> : Élément qui contient les données et les commandes pour une ou plusieurs sessions. L'élément peut contenir un ou plusieurs éléments
<Session>
. Il qualifie les règles d'impression de la session. Cet élément peut être utilisé plusieurs fois dans le fichier de commande. Pour rechercher les attributs disponibles, voir ceux de l'élément<Print_Job
>. Ils sont tous utilisables, sauf l'attribut de quantité. Voir la description de l'élément<Session>
pour déterminer comment spécifier la quantité d'étiquettes dans la session d'impression. -
<Session> : L'élément qui contient les données pour une session. En imprimant en sessions, toutes les étiquettes sont codées et envoyées à l'imprimante dans un seul travail d'impression.
-
Quantité : À utiliser pour spécifier le nombre d'étiquettes à imprimer. Valeurs possibles : valeur numérique, chaîne de caractères VARIABLE ou chaîne UNLIMITED. Pour plus d'informations concernant les paramètres, consulter l'article Imprimer l'étiquette. Obligatoire.
-
-
<Variable> : L'élément qui assigne les valeurs aux variables de l'étiquette. Cet élément peut se trouver plusieurs fois dans le fichier de commande.
-
Nom : L'attribut qui contient le nom de variable. Obligatoire.
-
Schéma de Définition XML (XSD) pour le fichier de commande XML
<?xml version="1.0" encoding="utf-8"?> <xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="nice_commands"> <xs:complexType> <xs:sequence> <xs:element name="label" maxOccurs="unbounded" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="print_job" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="database" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="table" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="variable" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="quantity" type="xs:string" use="required" /> <xs:attribute name="printer" type="xs:string" use="optional" /> <xs:attribute name="skip" type="xs:integer" use="optional" /> <xs:attribute name="identical_copies" type="xs:integer" use="optional" /> <xs:attribute name="number_of_sets" type="xs:integer" use="optional" /> <xs:attribute name="job_name" type="xs:string" use="optional" /> <xs:attribute name="print_to_file" type="xs:string" use="optional" /> <xs:attribute name="print_to_file_append" type="xs:boolean" use="optional" /> <xs:attribute name="clear_variable_values" type="xs:boolean" use="optional" /> </xs:complexType> </xs:element> <xs:element name="session_print_job" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="database" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="table" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="session" minOccurs="1" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="variable" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="quantity" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="printer" type="xs:string" use="optional" /> <xs:attribute name="skip" type="xs:integer" use="optional" /> <xs:attribute name="job_name" type="xs:string" use="optional" /> <xs:attribute name="print_to_file" type="xs:string" use="optional" /> <xs:attribute name="print_to_file_append" type="xs:boolean" use="optional" /> <xs:attribute name="clear_variable_values" type="xs:boolean" use="optional" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="close" type="xs:boolean" use="optional" /> <xs:attribute name="clear_variable_values" type="xs:boolean" use="optional" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="quit" type="xs:boolean" use="required" /> </xs:complexType> </xs:element> </xs:schema>
Oracle définit le format XML pour permettre la compréhension du contenu XML, son analyse, et ensuite l'imprimer comme une étiquette. La Définition du Type de Document XML (DTD) définit les balises XML utilisées dans le fichier XML. Oracle génère les fichiers XML selon cette DTD et le logiciel tiers traduit l'XML selon cette DTD.
Pour exécuter un tel fichier de commande, utiliser l'action Exécuter le Fichier de Commande XML . Exécuter le Fichier de Commande XML3 .
L'exemple qui suit est le XML DTD utilisé pour la formation de l'XML pour les formats synchrones ou asynchrones. DTD définit les éléments utilisés dans le fichier XML, une liste de leurs attributs et les éléments du niveau suivant.
<!ELEMENT labels (label)*> <!ATTLIST labels _FORMAT CDATA #IMPLIED> <!ATTLIST labels _JOBNAME CDATA #IMPLIED> <!ATTLIST labels _QUANTITY CDATA #IMPLIED> <!ATTLIST labels _PRINTERNAME CDATA #IMPLIED> <!ELEMENT label (variable)*> <!ATTLIST label _FORMAT CDATA #IMPLIED> <!ATTLIST label _JOBNAME CDATA #IMPLIED> <!ATTLIST label _QUANTITY CDATA #IMPLIED>
Voici l'XML Oracle qui fournit les données pour une étiquette (il y a un seul élément <label>
).
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE labels SYSTEM "label.dtd"> <labels _FORMAT ="Serial.nlbl" _QUANTITY="1" _PRINTERNAME="" _JOBNAME="Serial"> <label> <variable name= "item">O Ring</variable> <variable name= "revision">V1</variable> <variable name= "lot">123</variable> <variable name= "serial_number">12345</variable> <variable name= "lot_status">123</variable> <variable name= "serial_number_status">Active</variable> <variable name= "organization">A1</variable> </label> </labels>
Lors de l'exécution de ce fichier XML Oracle, l'étiquette serial.lbl
s'imprimera avec les valeurs suivantes.
Nom de la variable |
Valeur de la variable |
Article |
O Ring |
révision |
V1 |
lot |
123 |
Numéro de série |
12345 |
Lot |
123 |
état du numéro de série |
Actif |
organisation |
A1 |
Il y aura 1
copie imprimée de l'étiquette avec le nom Serial
dans le spouleur. Le nom d'imprimante n'est pas spécifié dans le fichier XML, l'étiquette s'imprime donc sur l'imprimante définie dans le masque d'étiquette.
NiceLabel Automation peut se présenter comme gestionnaire d'unité RFID, capable d'encoder et d'imprimer des étiquettes RFID. Pour plus d'informations concernant les caractéristiques SAP AII XML, consulter le document SAP Auto-ID Infrastructure Device Controller Interface sur les pages Web SAP.
Pour exécuter ce type de fichier de commande, utiliser l'action Exécuter le Fichier de Commande SAP AII XML .
Voici l'XML AII SAP qui fournit les données pour une étiquette (il y a un seul élément <label>
).
<?xml version="1.0" encoding="UTF-8"?> <Command xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Command.xsd"> <WriteTagData readerID="DEVICE ID"> <Item> <FieldList format="c:\SAP Demo\SAP label.nlbl" jobName="Writer_Device20040929165746" quantity="1"> <Field name="EPC">00037000657330</Field> <Field name="EPC_TYPE">SGTIN-96</Field> <Field name="EPC_URN">urn:autoid:tag:sgtin:3.5.0037000.065774.8</Field> <Field name="PRODUCT">Product</Field> <Field name="PRODUCT_DESCRIPTION">Product description</Field> </FieldList> </Item> </WriteTagData> </Command>
Lors de l'exécution de cet exemple SAP AI XML, l'étiquette c:\SAP Demo\SAP label.nlbl
s'imprime avec les valeurs de variables suivantes.
Nom de la variable |
Valeur de la variable |
EPC |
00037000657330 |
EPC_TYPE |
SGTIN-96 |
EPC |
urn:autoid:tag:sgtin:3.5.0037000.065774.8 |
PRODUIT |
Produit |
PRODUCT_DESCRIPTION |
Description |
Il y aura 1
copie imprimée de l'étiquette avec le nom Writer_Device2004092916574
dans le spouleur. Le nom de l'imprimante n'est pas spécifié dans le fichier XML, l'étiquette s'imprime donc sur l'imprimante définie dans le masque d'étiquette.
Le fichier de commande PAS est un fichier texte qui contient les commandes d’impression Loftware LPS. Les commandes sont exécutées dans l'ordre, de haut en bas. Chaque fichier PAS doit démarrer avec la commande *FORMAT (ouvrir l'étiquette) et se terminer avec la commande *PRINTLABEL.
Le fichier de commande PAS peut s’exécuter à l’aide de l’action Lancer le fichier de commande.
Note
Si vous avez migré de Loftware à NiceLabel, vous pouvez utiliser vos fichiers de commande PAS existants avec les contrôles de commande *FORMAT de modèles d’étiquettes NiceLabel (.nlbl) s’il existe un fichier .nlbl avec le même nom que .lwl.
*FORMAT,\\127.0.0.1\labelcomputer$\labels\ML2193.lwl *JOBNAME,PastaPallet002 *QUANTITY,1 *PRINTERNUMBER,1 Text0000,New Data Text0001,New Data *PRINTLABEL
Note
Si vous souhaitez utiliser la commande *PRINTERNUMBER
, il faut copier le fichier printr32.ini
de LPS dans c:\Program Files\NiceLabel\NiceLabel 10\\bin.net\Configuration
.
Plus de détails sur les commandes PAS figurent dans le Guide d’utilisateur de Loftware LPS.