Specifiche dei file di comando

I file di comando contengono istruzioni per il processo di stampa. Queste istruzioni sono espressi con comandi NiceLabel. I comandi vengono eseguiti uno alla volta, dall'inizio alla fine del file. I file supportano la formattazione Unicode, quindi è possibile includere contenuto multilingue. I file di comando sono di tre tipi.

File di comando CSV

I comandi disponibili nei file di comando CSV sono un sottoinsieme dei comandi NiceLabel. Sono disponibili i seguenti comandi: LABEL, SET, PORT, PRINTER e PRINT.

L'acronimo CSV sta per Comma Separated Values (valori separati da virgole). Il file CSV è un file di testo in cui valori sono delimitati dal carattere della virgola (,). Tale file di testo può contenere un valore Unicode (importante per i dati multilingue). Ciascuna riga del file di comando CSV contiene i comandi per una singola azione di stampa di un'etichetta.

La prima riga di un file di comando CSV deve contenere i comandi e i nomi di variabili. L'ordine di comandi e nomi non è importante, ma tutti i record presenti nello stesso flusso di dati devono seguire la stessa struttura. Le coppie name-value di variabili sono estratte automaticamente e inviate all'etichetta di riferimento. Se la variabile con il nome del file CSV non è presente sull'etichetta, non viene visualizzato nessun messaggio di errore.

File di comando CSV di esempio

L'esempio rappresenta la vista strutturale sui campi utilizzabili nel file di 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

Specifica dei comandi CSV

I comandi nella prima riga di dati devono essere espressi con un carattere (@). I campi senza @ all'inizio sono i nomi delle variabili. Questi campi sono estratti con i loro valori come coppie nome-valore.

  • @Label: specifica il nome dell'etichetta da usare. È buona norma includere il percorso dell'etichetta e il nome del file. Assicurarsi che l'utente del servizio possa accedere al file. Per ulteriori informazioni, vedere la sezione Accesso alle risorse di rete condivise nella guida dell'utente di NiceLabel Automation. Un campo obbligatorio.

  • @Printer: specifica la stampante da usare. Esclude la stampante definita nell'etichetta. Assicurarsi che l'utente del servizio possa accedere alla stampante. Per ulteriori informazioni, vedere la sezione Accesso alle risorse di rete condivise. Campo opzionale.

  • @Quantity: specifica il numero di etichette da stampare. Valori possibili: valore numerico, VARIABLE o UNLIMITED. Per ulteriori informazioni, consultare la sezione Stampa l'etichetta. Un campo obbligatorio.

  • @Skip: specifica il numero di etichette da ignorare all'inizio della prima pagina stampata. Questa funzionalità è utile se si desidera riutilizzare il foglio di etichette parzialmente stampato. Campo opzionale.

  • @IdenticalCopies: Specifica il numero di copie di etichette da stampare per ciascuna etichetta univoca. Questa funzionalità è utile per stampare etichette con i dati del database oppure quando si usano contatori e si ha bisogno di copie delle etichette. Campo opzionale.

  • @NumberOfSets: Specifica il numero di volte che il processo di stampa deve essere ripetuto. Ciascun set di etichette equivale a una singola occorrenza di processo di stampa. Campo opzionale.

  • @Port: specifica il nome di porta della stampante. È possibile escludere la porta predefinita specificata nel driver della stampante. Consente anche di reindirizzare la stampa sul file. Campo opzionale.

  • Altri nomi di campo: Tutti gli altri campi definiscono i nomi delle variabili dell'etichetta. Il contenuto del campo viene salvato sulla variabile dello steso nome del valore.

File di comando JOB

Il file di comando JOB è un file di testo che contiene i comandi NiceLabel. I comandi vengono eseguiti nell’ordine dall'alto verso il basso. Di solito i comandi iniziano con LABEL (per aprire l'etichetta), continuano con SET (per impostare il valore della variabile) e finiscono con PRINT (per stampare l'etichetta). Per ulteriori informazioni sui comandi disponibili, vedere la sezione Uso dei comandi personalizzati.

File di comando JOB di esempio

Questo file JOB apre label2.nlbl, imposta i valori delle variabili e stampa un'unica etichetta. Poiché per reindirizzare la stampa non viene usato alcun comando PRINTER, l'etichetta viene stampata usando il nome della stampante, come definito nell'etichetta.

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

File di comando XML

I comandi disponibili nei file di comando XML sono un sottoinsieme dei comandi NiceLabel. Sono disponibili i seguenti comandi: LOGIN, LABEL, SET, PORT, PRINTER, SESSIONEND, SESSIONSTART e SESSIONPRINT. La sintassi di questi comandi è parzialmente diversa se essi vengono utilizzati in un file XML.

L’elemento principale nel file di comando XML è <Nice_Commands>. L’elemento successivo che deve seguire è <Label>. Questo elemento specifica l’etichetta da usare.

Per iniziare a stampare le etichette sono disponibili due metodi: stampare le etichette normalmente usando l'elemento <Print_Job> oppure stampare le etichette nella sessione usando l'elemento <Session_Print_Job>. È anche possibile modificare la stampante sulla quale saranno stampate le etichette, nonché impostare il valore di variabile.

File di comando XML di esempio

L'esempio seguente offre una panoramica strutturale sugli elementi e i loro attributi, utilizzabili in un file di 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>

Specificazione di file di comando XML

Questa sezione contiene descrizione della struttura di file di comando XML. Sono presenti diversi elementi contenenti attributi. Alcuni attributi sono obbligatori mentre altri sono opzionali. Alcuni attributi possono occupare solo valori predefiniti, mentre per gli altri è possibile specificare valori personalizzati.

  • <Nice_Commands>: Questo è un elemento principale.

  • <Label>: specifica il file di etichetta da aprire. Se l'etichetta è già aperta, essa non viene riaperta. Il file di etichetta deve essere accessibile da questo computer. Per ulteriori informazioni, vedere la sezione Accesso alle risorse di rete condivise. Questo elemento può ricorrere più volte all'interno del file di comando.

    • Nome: questo attributo contiene il nome dell'etichetta. È possibile includere il percorso insieme al nome dell'etichetta. Obbligatorio.

  • <Print_Job>: l'elemento che contiene i dati per un processo di etichetta. Questo elemento può ricorrere più volte all'interno del file di comando.

    • Stampante: Usare questo attributo per escludere la stampante definita nell'etichetta. La stampante deve essere accessibile da questo computer. Per ulteriori informazioni, vedere la sezione Accesso alle risorse di rete condivise. Opzionale.

    • Quantità: usare questo attributo per specificare il numero di etichette da stampare. Valori possibili: valore numerico, VARIABLE o UNLIMITED. Per ulteriori informazioni sui parametri, consultare la sezione Stampa l'etichetta. Obbligatorio.

    • Skip: usare questo attributo per specificare quante etichette vanno ignorate all'inizio. Questa funzionalità è utile se si stampano fogli di etichette sulla stampante laser, ma il foglio è già parzialmente stampato. Per ulteriori informazioni, vedere la sezione Stampa l'etichetta. Opzionale.

    • Job_name: Usare questo attributo per specificare il nome del file del processo. Il nome specificato è visibile nello spooler di stampa. Per ulteriori informazioni, vedere la sezione Imposta il nome del processo di stampa. Opzionale.

    • Print_to_file: usare questo attributo per specificare il nome del file in cui salvare i comandi della stampante. Per ulteriori informazioni, vedere la sezione Reindirizza stampa su file. Opzionale.

    • Identical_copies: Usare questo attributo per specificare il numero di copie necessarie per ciascuna etichetta. Per ulteriori informazioni, consultare la sezione Stampa l'etichetta.

  • <Session_Print_Job>: L'elemento che contiene i comandi e i dati per una o più sessioni. L'elemento può contenere uno o più elementi <Session>. Esso considera le regole di stampa della sessione. È possibile usare questo elemento più volte all'interno del file di comando. Per informazioni sugli attributi disponibili, cercare gli attributi relativi all'elemento<Print_Job>. Tutti sono validi, ma non è possibile usare l'attributo di quantità. Per scoprire come specificare la quantità di etichette nella stampa di sessione, vedere la descrizione dell’elemento <Session>.

  • <Session>: L'elemento che contiene i dati per una sessione. Quando si stampa nella sessione, tutte le etichette sono codificate in un singolo processo di stampa e inviate alla stampante.

    • Quantity: usare questo attributo per specificare il numero di etichette stampate. Valori possibili: valore numerico, stringa, VARIABLE o UNLIMITED. Per ulteriori informazioni sui parametri, consultare la sezione Stampa l'etichetta. Obbligatorio.

  • <Variable>: l'elemento che imposta i valori di variabili sull'etichetta. Questo elemento può ricorrere più volte all'interno del file di comando.

    • Nome: Questo attributo contiene il nome della variabile. Obbligatorio.

XML Schema Definition (XSD) for XML Command File

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

Specifiche Oracle XML

Oracle definisce il formato XML il modo tale che il contenuto XML possa essere compreso, analizzato e stampato sulle etichette. La definizione del tipo di documento (DTD) XML definisce i tag XML usati in un file XML. Oracle genera file XML in base a questo DTD; inoltre, il software di terze parti converte i file XML in base a questo DTD.

Per eseguire questo file di comando Oracle XML, usare l'azione Esegui file di comando Oracle XML .

XML DTD

L'esempio seguente è il DTD XML utilizzato per formare un XML sia per formati XML sincroni che asincroni. Il DTD definisce gli elementi utilizzati nel file XML, l’elenco dei loro attributi e gli elementi del livello successivo.

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

Oracle XML di esempio

Questo è il file Oracle XML che fornisce i dati per un'etichetta (c'è 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>

Quando si esegue questo file Oracle XML di esempio, l'etichetta serial.lbl viene stampata con i seguenti valori di variabile.

Nome variabile

Valore variabile

item

O Ring

revision

V1

lot

123

serial_number

12345

lot_status

123

serial_number_status

Active

organization

A1

Ci sarà 1 copia stampata dell’etichetta con il nome del processo dello spooler Serial. Il nome della stampante non è specificato nel file XML, quindi l'etichetta viene stampata sulla stampante definita nel modello di etichetta.

Specifiche SAP AII XML

NiceLabel Automation possono presentarsi come un controller del dispositivo RFID, in grado di codificare i tag RFID e stampare etichette. Per ulteriori informazioni sulle specifiche SAP AII XML, consultare il documento SAP Auto-ID Infrastructure Device Controller Interface nella pagina Web di SAP.

Per eseguire questo file di comando, usare l'azione Esegui file di comando SAP All XML .

File SAP AII XML di esempio

Questo è il file SAP AII XML che fornisce i dati per un'etichetta (c'è 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>

Quando si esegue questo file SAP AI XML di esempio, , l'etichetta c:\SAP Demo\SAP label.lbl viene stampata con i seguenti valori di variabile.

Nome variabile

Valore variabile

EPC

00037000657330

EPC_TYPE

SGTIN-96

EPC

urn:autoid:tag:sgtin:3.5.0037000.065774.8

PRODUCT

Prodotto

PRODUCT_DESCRIPTION

Descrizione prodotto

Ci sarà 1 copia stampata dell’etichetta con il nome del processo dello spooler Writer_Device2004092916574. Il nome della stampante non è specificato nel file XML, quindi l'etichetta verrà stampata usando la stampante definita nel modello di etichetta.

File di comando PAS

Il file di comando PAS è un file di testo che contiene i comandi di stampa LPS di Loftware. I comandi vengono eseguiti in ordine dall'alto verso il basso. Ciascun file PAS deve iniziare con il comando *FORMAT (etichetta aperta) e terminare con il comando *PRINTLABEL.

Il file di comando PAS può essere eseguito utilizzando l'azione Esegui file di comando.

Nota

Se è stata eseguita la migrazione da Loftware a NiceLabel, è possibile utilizzare i file di comando PAS esistenti con i modelli di etichetta NiceLabel (.nlbl). Il comando *FORMAT controlla se esiste un file .nlbl con lo stesso nome di .lwl.

Esempio file di comando PAS

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

Nota

Se si desidera utilizzare il comando *PRINTERNUMBER, bisogna copiare il file printr32.ini da LPS a c:\Program Files\NiceLabel\NiceLabel 10\\bin.net\Configuration.

È possibile trovare maggiori dettagli sui comandi PAS nella Guida utente di Loftware LPS.