Especificaciones de archivos de comandos

Los de comandos contienen instrucciones para el proceso de impresión. Estas instrucciones se expresan con NiceLabel comandos. Los comandos se ejecutan uno a la vez desde el comienzo hasta el final del archivo. Los archivos admiten el formato Unicode, de modo que puede incluir contenido multilingüe. Los archivos de comandos tienen tres tipos diferentes.

Archivo de comando CSV

Los comandos disponibles en los archivos de comando CSV forman un subconjunto de comandos de NiceLabel. Los siguientes comandos están disponibles: LABEL, SET, PORT, PRINTER y PRINT.

CSV significa valores separados por comas. El archivo CSV es un archivo de texto en el que los valores están delimitados por coma (,). Este archivo de texto puede tener valores Unicode (importantes para los datos en múltiples idiomas). Cada línea en el archivo de comandos CSV tiene los comandos para una acción de impresión de una etiqueta.

La primera fila del archivo de comandos CSV debe tener los comandos y los nombres de las variables. El orden de los comandos y los nombres no es importante, pero todos los registros en la misma secuencia de datos deben tener la misma estructura. Los pares nombre-valor de las variables se extraen automáticamente y se envían a la etiqueta de referencia. Si la variable con el nombre de CSV no existen en la etiqueta, no se muestran ningún mensaje de error.

Ejemplo de Archivo de comando CSV

El ejemplo presenta la vista estructural de los campos que puede usar en el archivo de comando 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

Especificación de comandos CSV

Los comandos de la primera línea de datos deben expresarse con el carácter (@). Los campos sin @ al principio son los nombres de las variables. Estos campos se extraen con sus valores con formato de pares nombre-valor.

  • @Label: Especifica el nombre de la etiqueta que se usará. Es una buena práctica incluir el nombre de archivo y la ruta de acceso de la etiqueta. Asegúrese de que el usuario del servicio pueda acceder al archivo. Para obtener más información, consulte la sección Acceso a recursos de red compartidos en la guía del usuario NiceLabel Automation. Campo obligatorio.

  • @Printer: Especifica la impresora que se usará. Anula la impresora definida en la etiqueta. Asegúrese de que el usuario del servicio pueda acceder a la impresora. Para obtener más información, consulte el tema Acceso a recursos de red compartidos. Campo opcional.

  • @Quantity: Especifica el número de etiquetas para imprimir. Valores posibles: valor numérico, VARIABLE o ILIMITADA. Para obtener más información, consulte el tema Imprimir etiqueta. Campo obligatorio.

  • @Skip: Especifica el número de etiquetas que se deben omitir al principio de la primera página impresa. Esta función es útil si quiere reutilizar la hoja de etiquetas parcialmente impresa. Campo opcional.

  • @IdenticalCopies: Especifica el número de copias de cada etiqueta que se deben imprimir. Esta función es útil cuando se imprimen etiquetas con datos de bases de datos o cuando se usan contadores, y necesita copias de etiquetas. Campo opcional.

  • @NumberOfSets: Especifica el número de veces que debe repetirse el proceso de impresión. Cada conjunto de etiquetas equivale a una única repetición del proceso de impresión. Campo opcional.

  • @Port: Especifica el nombre del puerto para la impresora. Puede anular el puerto predeterminado en el controlador de la impresora. También puede usarlo para redireccionar la impresión al archivo. Campo opcional.

  • Otros nombres de campo: El resto de los campos definen los nombres de las variables a partir de la etiqueta. El contenido de los campos se guarda en la variable del mismo nombre que su valor.

Archivo de comando JOB

El archivo de comandos JOB es un archivo de texto con comandos NiceLabel. Los comandos se ejecutan en orden descendente. Los comandos comienzan generalmente con LABEL (para abrir la etiqueta), luego SET (para configurar el valor de la variable) y, por último, PRINT (para imprimir la etiqueta). Para obtener más información sobre los comandos disponibles, consulte el tema Usar comandos personalizados.

Ejemplo de Archivo de comando JOB

El archivo JOB abre la etiqueta label2.nlbl, configura valores de variable e imprime una única etiqueta. Debido a que no se usa un comando PRINTER para redirigir la impresión, la etiqueta se imprimirá usando el nombre de la impresora definido en la etiqueta.

LABEL "label2.nlbl"
SET code="12345"
SET article="FUSILLI"
SET ean="383860026501"
SET weight="1,0 kg"
PRINT 1

Archivo de comando XML

Los comandos disponibles en los archivos de comando XML son un subconjunto de comandos NiceLabel. Los siguientes comandos están disponibles: LOGIN, LABEL, SET, PORT, PRINTER, SESSIONEND, SESSIONSTART y SESSIONPRINT. La sintaxis para estos comandos difiere en cierta medida si se usan en un archivo XML.

El elemento de raíz en el archivo de comandos XML es <Nice_Commands>. El siguiente elemento que debe seguir es <Label>. Este elemento especifica la etiqueta que debe usarse.

Para comenzar la impresión de etiquetas existen dos métodos: imprimir las etiquetas normalmente usando el elemento <Print_Job>o imprimir las etiquetas en la sesión usando el elemento <Session_Print_Job>. También puede cambiar la impresora con la cual se imprimirán las etiquetas, y puede configurar el valor de variable.

Ejemplo de Archivo de comando XML

El ejemplo a continuación brinda una descripción general estructural de los elementos y sus atributos como pueden usarse en un archivo de comando 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>

Especificación del archivo de comando XML

Esta sección presenta la descripción de la estructura de los archivos de comandos XML. Hay varios elementos que contienen atributos. Algunos atributos son obligatorios, otros son opcionales. Algunos atributos pueden tener valores predefinidos únicamente y, para otros, se pueden especificar valores personalizados.

  • <Nice_Commands>: este es un elemento de raíz.

  • <Label>: Especifica el archivo de etiquetas que se abre. Si la etiqueta ya está abierta, no se volverá a abrir. Se debe poder acceder al archivo de etiqueta desde esta computadora. Para obtener más información, consulte el tema Acceso a recursos de red compartidos. Este elemento puede aparecer varias veces dentro del archivo de comandos.

    • Nombre: Este atributo tiene el nombre de la etiqueta. Puede incluir la ruta de acceso junto con el nombre de la etiqueta. Obligatorio.

  • <Print_Job>: Elemento que contiene los datos para un único trabajo de etiquetas. Este elemento puede aparecer varias veces dentro del archivo de comandos.

    • Impresora:: Use este atributo para reemplazar la impresora definida en la etiqueta. Se debe poder acceder a la impresora desde esta computadora. Para obtener más información, consulte el tema Acceso a recursos de red compartidos. Opcional.

    • Cantidad: Use este atributo para especificar el número de etiquetas que se imprimirán.. Valores posibles: valor numérico, VARIABLE o ILIMITADA. Para obtener más información sobre los parámetros, consulte el tema Imprimir etiqueta. Obligatorio.

    • Skip: Use este atributo para especificar cuántas etiquetas se omitirán al comienzo. Esta función es útil para imprimir hojas de etiquetas con una impresora láser, pero las hojas están parcialmente impresas. Para obtener más información, consulte el tema Imprimir etiqueta. Opcional.

    • Job_name: Use este atributo para especificar el nombre del archivo de trabajo. El nombre especificado aparece en el administrador de trabajos de impresión. Para obtener más información, consulte el tema Configurar nombre de trabajo de impresión. Opcional.

    • Print_to_file: Use este atributo para especificar el nombre del archivo en el que quiera guardar los comandos de la impresora. Para obtener más información, consulte el tema Redireccionar impresión a archivo. Opcional.

    • Identical_copies: Use este atributo para especificar el número de copias que necesita para cada etiqueta. Para obtener más información, consulte el tema Imprimir etiqueta.

  • <Session_Print_Job>: Elemento que contiene los comandos y los datos para una o más sesiones. Este elemento puede tener uno o más elementos <Session>. Tiene en cuenta las reglas de impresión de la sesión. Puede usar este elemento varias veces dentro del archivo de comandos. Busque los atributos disponibles para el elemento <Print_Job>. Todos son válidos, tan solo no puede usar el atributo de cantidad. Consulte la descripción del elemento <Session> para buscar cómo especificar la cantidad de etiquetas en la impresión de la sesión.

  • <Session>: Elemento que contiene los datos para una sesión. Al imprimir en la sesión, todas las etiquetas se codifican en un solo trabajo de impresión y se envían a la impresora.

    • Quantity: Use este atributo para especificar el número de etiquetas que se imprimirán.. Valores posibles: valor numérico, VARIABLE de cadena o cadena ILIMITADA. Para obtener más información sobre los parámetros, consulte el tema Imprimir etiqueta. Obligatorio.

  • <Variable>: Elemento que configura el valor de las variables de la etiqueta. Este elemento puede aparecer varias veces dentro del archivo de comandos.

    • Nombre: Este atributo tiene el nombre de la variable. Obligatorio.

Definición de esquema XML (XSD) para archivo de comandos 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>

Especificaciones de XML de Oracle

Oracle define el formato XML para que se pueda comprender, analizar y luego imprimir el contenido XML en las etiquetas. La Definición del tipo de documento XML (DTD) define las etiquetas XML que se usarán en un archivo XML. Oracle generará archivos XML según esta DTD y el software de terceros traducirá los archivos XML según esta DTD.

Para ejecutar un archivo de comando XML de Oracle, use la acción Ejecutar archivo de comando XML de Oracle .

XML DTD

A continuación se muestra la DTD de XML que se usa para formar el XML para los formatos de XML sincrónicos y asincrónicos. La DTD define los elementos que se utilizan en el archivo XML, una lista de sus atributos y los elementos del nivel siguiente.

<!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>

Ejemplo de XML de Oracle

Este es el XML de Oracle que brinda datos para una etiqueta (hay solo un elemento <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>

Al ejecutar este archivo XML de Oracle de ejemplo, se imprime la etiqueta serial.lbl con los siguientes valores de variables.

Nombre de variable

Valor de variable

Elemento

Anillo tórico

revisión

V1

lote

123

núm_de_serie

12345

estado_de_lote

123

estado_núm_de_serie

Activo

organización

A1

Habrá 1 copia impresa de la etiqueta con el nombre Serial en el administrador de trabajos de impresión. El nombre de la impresora no se especifica en el archivo XML, de modo que la etiqueta se imprimirá en la impresora definida en la plantilla de la etiqueta.

Todas las especificaciones de SAP XML

NiceLabel Automation se puede presentar como un controlador de dispositivos RFID, capaz de codificar etiquetas RFID e imprimir etiquetas. Para obtener más información sobre Todas las especificaciones de SAP XML, consulte el documento Interfaz de controlador de dispositivo de infraestructura de ID automático de SAP en la página Web de SAP.

Para ejecutar dicho archivo de comando, use la acción Ejecutar Todas las especificaciones de SAP XML. .

Ejemplo de SAP Todo XML

Este es todo XML de SAP que brinda datos para una etiqueta (hay solo un elemento <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>

Al ejecutar este archivo SAP Todo XML de ejemplo, se imprimirá la etiqueta c:\SAP Demo\SAP label.lbl con los siguientes valores de variables.

Nombre de variable

Valor de variable

EPC

00037000657330

TIPO_EPC

SGTIN-96

EPC

urn:idautomático:etiqueta:sgtin:3.5.0037000.065774.8

PRODUCTO

Producto

DESCRIPCIÓN_PRODUCTO

Descripción de producto

Habrá 1 copia impresa de la etiqueta con el nombre Writer_Device2004092916574 en el administrador de trabajos de impresión. El nombre de la impresora no se especifica en el archivo XML, de modo que la etiqueta se imprimirá en la impresora definida en la plantilla de la etiqueta.

Archivo de comandos PAS

El archivo de comandos PAS es un archivo de texto que contiene comandos de impresión de Loftware LPS. Los comandos se ejecutan en orden de arriba abajo. Cada archivo PAS debe empezar con el comando *FORMAT (abrir etiqueta) y finalizar con el comando *PRINTLABEL (imprimir etiqueta).

El archivo de comandos PAS se puede ejecutar con la acción Ejecutar archivo de comando.

Nota

Si ha realizado la migración de Loftware a NiceLabel, puede usar sus archivos de comandos PAS existentes con las plantillas de etiqueta de NiceLabel (.nlbl). El comando *FORMAT verifica si el archivo .nlbl existe con el mismo nombre como .lwl.

Ejemplo de archivo de comandos PAS

*FORMAT,\\127.0.0.1\labelcomputer$\labels\ML2193.lwl
*JOBNAME,PastaPallet002
*QUANTITY,1
*PRINTERNUMBER,1
Text0000,New Data
Text0001,New Data
*PRINTLABEL

Nota

Si desea utilizar el comando*PRINTERNUMBER, debe copiar el archivo printr32.ini de LPS a c:\Program Files\NiceLabel\NiceLabel 10\\NiceLabel\bin.net\Configuration.

Para obtener más detalles sobre los comandos PAS, consulte la Guía del usuario de Loftware LPS.