Diseño de etiquetas Zebra (ZPL)¶
Las impresoras de etiquetas Zebra no entienden documentos normales. En su lugar, leen un pequeño conjunto de comandos de texto llamado ZPL (Zebra Programming Language). Un diseño ZPL es simplemente un bloque de texto que le indica a la impresora qué poner en la etiqueta y dónde: una línea de texto aquí, un precio allí, un código QR en la esquina.
Esta página explica ZPL desde cero para que pueda leer, editar y construir sus propias etiquetas de productos sin ayuda. Usted diseña su etiqueta en , en el campo Diseño personalizado de etiqueta de producto Zebra (consulte Configuración de la impresora).
Truco
Rara vez se empieza desde una página en blanco. Gem Logic proporciona a cada etiqueta un diseño predeterminado funcional. La forma más rápida de aprender es abrir ese diseño predeterminado, cambiar una cosa, guardar y observar la imagen de vista previa. Repita hasta que se vea bien.
Inicio rápido¶
Vaya a y encuentre el campo Diseño personalizado de etiqueta de producto Zebra.
Haga un pequeño cambio (por ejemplo, mueva una línea o agrande el precio).
Haga clic en Guardar. Gem Logic genera automáticamente una imagen de vista previa de la etiqueta.
Observe la vista previa. Si es incorrecta, ajuste y guarde nuevamente.
No se envía nada a una impresora real mientras experimenta — la vista previa se genera a partir de su diseño, por lo que puede iterar de manera segura antes de imprimir una sola etiqueta.
Cómo se construye una etiqueta ZPL¶
Cada etiqueta comienza con ^XA y termina con ^XZ. Todo lo que está en medio describe la etiqueta. Un comando siempre comienza con un acento circunflejo ^ (o a veces una tilde ~).
^XA (start of the label)
... commands that build the label ...
^XZ (end of the label)
Dentro, el patrón más común es «ir a una posición, luego imprimir algo allí»:
^FO50,30^FDHello^FS
Esa única línea significa: ir a la posición 50,30 e imprimir el texto «Hello». Desglosado:
^FO50,30— Field Origin (origen de campo): mover a x=50, y=30 (la esquina superior izquierda de lo que viene a continuación).^FDHello— Field Data (datos de campo): el contenido real a imprimir.^FS— Field Separator (separador de campo): marca el final de esta parte. Cierre siempre un campo con^FS.
Esto representa el 90% del diseño de etiquetas: una serie de líneas «posición + contenido» apiladas juntas.
Tamaño de etiqueta, puntos y milímetros¶
Las impresoras Zebra miden todo en puntos, no en milímetros. La mayoría de las impresoras de etiquetas imprimen a 203 DPI, lo que significa:
1 mm ≈ 8 puntos
1 pulgada = 203 puntos
Por lo tanto, una etiqueta de 56 mm de ancho y 13 mm de alto tiene aproximadamente 448 puntos de ancho y 104 puntos de alto.
Dos comandos establecen el área imprimible:
^PW— Print Width (ancho de impresión), en puntos.^LL— Label Length (longitud de etiqueta, altura), en puntos.
^PW448 (label is 448 dots wide ≈ 56 mm)
^LL104 (label is 104 dots tall ≈ 13 mm)
Importante
El tamaño físico de la etiqueta también proviene de los campos Product label width y Product label length junto al diseño. Mantenga estos sincronizados con su stock de etiquetas real. La variable {label_length} se rellena automáticamente desde el campo de longitud, por lo que el diseño predeterminado utiliza ^LL{label_length}.
Posicionamiento: la cuadrícula de coordenadas¶
Piense en la etiqueta como una cuadrícula. El punto 0,0 es la esquina superior izquierda. El primer número es x (distancia hacia la derecha) y el segundo es y (distancia hacia abajo), ambos en puntos.
^FO0,0 top-left corner
^FO200,0 200 dots to the right, same height
^FO0,40 left edge, 40 dots down
Para mover un elemento, cambie sus números ^FO. Mayor x = más a la derecha; mayor y = más abajo. Así es como coloca el SKU en una línea y el metal en la siguiente: asígneles la misma x pero una y mayor en la segunda línea.
Añadir y dimensionar texto¶
Antes de imprimir texto, normalmente elige un tamaño de fuente. La forma más sencilla es ^CF0,h (Change default Font, cambiar fuente predeterminada), donde h es la altura del carácter en puntos:
^CF0,28 use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS print "Price" at 50,30 in that size
Cada ^FD ... ^FS después de un ^CF utiliza ese tamaño hasta que establezca uno diferente. Así que para mezclar tamaños en una etiqueta, establezca ^CF0,28 antes del texto grande y ^CF0,14 antes del texto pequeño.
Truco
Para añadir una nueva línea de texto, no pulse Intro: añada otro campo posicionado más abajo. Copie una línea existente, asígnele un valor y mayor y cambie su contenido.
Insertar datos del producto¶
Un diseño de etiqueta se reutiliza para cada producto, por lo que no escribe el SKU o el precio manualmente. En su lugar, inserta variables entre llaves, y Gem Logic las reemplaza con los datos reales de cada producto cuando se imprime la etiqueta.
^FO1,8^FD{item_sku}^FS prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129
Las mismas variables se muestran como insignias clicables directamente debajo del campo de diseño en la aplicación, para que pueda ver cuáles están disponibles mientras edita.
Variables disponibles¶
Producto
{brand}: nombre de marca{product_title}: título del producto{item_sku}: SKU del producto{ean_code}: código de barras EAN (utilizado para el código QR){price}y{currency}: precio y símbolo de moneda{serial_number}: número de serie{year_of_manufacture}: año de fabricación{supplier_product_reference}: referencia de producto del proveedor{supplier_reference}: referencia del proveedor
Materiales y gemas
{material_1}a{material_5}: descripción completa del material (peso, nombre y detalles de la gema){material_only_1}a{material_only_5}: nombre del material o gema únicamente
Atributos
{attribute_1}a{attribute_5}: atributo comonombre: valor{attribute_name_1}a{attribute_name_5}: nombre del atributo únicamente{attribute_value_1}a{attribute_value_5}: valor del atributo únicamente
Dimensiones
{weight},{length},{width},{height},{diameter},{size},{thickness},{quality}
Colecciones
{collections}: las colecciones a las que pertenece el producto
Categorías
{categories}: las categorías a las que pertenece el producto, separadas por comas
País de origen
{country_of_origin}: el país del que procede el producto
Pureza
{clarity}: la pureza de la gema del producto
Código de coste
{encoded_cost}: el coste de compra convertido en su código de coste privado (las letras se establecen en ), para que el coste real no sea legible en la etiqueta.
RFID (solo necesario para etiquetas con chips RFID)
{item_sku_epc_hex}: el SKU codificado como un valor EPC para el chip RFID{item_sku_epc_word_count}: la longitud EPC, utilizada por el comando RFID de ZPL
Diseño
{label_length}: se rellena automáticamente desde la configuración de longitud de etiqueta
Códigos QR y códigos de barras¶
Se añade un código QR con ^BQN seguido de un campo de datos que comienza con QA,:
^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
^FO0,30— dónde va el código QR.^BQN,2,2— un código QR. El último número es el tamaño (ampliación). Auméntelo (3, 4, 5…) para un código más grande y fácil de escanear; redúzcalo para ahorrar espacio.^FDQA,{ean_code}^FS— los datos dentro del código. Aquí codifica el EAN del producto.
Para un código de barras 1D clásico en su lugar, utilice ^BCN (Code 128):
^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS
El 60 es la altura del código de barras en puntos, y Y imprime el número legible debajo.
El diseño predeterminado, explicado¶
Este es el diseño inicial que Gem Logic le proporciona, anotado línea por línea. Leerlo es la forma más rápida de entender cómo encajan las piezas.
^XA
^MD20
^CI28
^LL{label_length}
^LH0,0
^CF0,18
^FO180,8^FD{brand}^FS
^CF0,14
^FO50,45^FD{material_2}^FS
^FO50,60^FD{material_3}^FS
^FO180,27^FD{material_1}^FS
^CF0,28
^FO180,50^FD{currency}{price}^FS
^CF0,16
^FO1,8^FD{item_sku}^FS
^FO1,23^FD{supplier_product_reference}^FS
^FO50,60^FD{supplier_reference}^FS
^FO0,30^BQN,2,2
^FDQA,{ean_code}^FS
^XZ
Línea por línea:
^XA— inicio de la etiqueta.^MD20— oscuridad de impresión. Auméntelo si las etiquetas se ven pálidas, redúzcalo si el texto está borroso.^CI28— codificación de caracteres, para que€y acentos se impriman correctamente.^LL{label_length}— altura de la etiqueta, completada automáticamente desde la configuración de longitud.^LH0,0— posición de inicio: el origen es la esquina superior izquierda.^CF0,18— tamaño de texto ~18 puntos para las líneas siguientes.^FO180,8^FD{brand}^FS— la marca, cerca de la parte superior.^CF0,14— texto más pequeño de aquí en adelante.^FO50,45^FD{material_2}^FS,^FO50,60^FD{material_3}^FS,^FO180,27^FD{material_1}^FS— los tres materiales.^CF0,28— texto más grande para el precio.^FO180,50^FD{currency}{price}^FS— el precio, p. ej. €129.^CF0,16— texto mediano.^FO1,8^FD{item_sku}^FS— el SKU, arriba a la izquierda.^FO1,23^FD{supplier_product_reference}^FS— referencia de producto del proveedor.^FO50,60^FD{supplier_reference}^FS— referencia del proveedor.^FO0,30^BQN,2,2seguido de^FDQA,{ean_code}^FS— el código QR (abajo a la izquierda) y sus datos (el EAN).^XZ— fin de la etiqueta.
Advertencia
ZPL no tiene comentarios de línea — no utilice punto y coma ; para añadir notas. ZPL solo entiende comandos que comienzan con ^ (o ~), por lo que cualquier cosa después de un ; se lee como parte del valor del comando (o como datos de etiqueta sueltos). Eso es lo que causa errores como «El valor “20;” no es un número válido» o «Se ignoró contenido no reconocido», y un ; suelto puede desplazar o romper silenciosamente su diseño.
Para dejar una nota, use el comando de comentario ^FX, cerrado con ^FS. La impresora ignora todo lo que hay dentro:
^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS
La única regla: un comentario ^FX no puede contener un ^ o ~ — esos caracteres finalizan el comentario e inician el siguiente comando.
Cambios comunes¶
- Aumentar el tamaño del precio
Busque
^CF0,28antes de la línea{price}y aumente el número, por ejemplo^CF0,40.- Mover algo
Cambie sus números
^FO. Para desplazar la marca hacia abajo, aumente el segundo número en^FO180,8(el8).- Añadir una nueva línea de texto
Copie una línea
^FO…^FD…^FS, asígnele un valorymayor para que se sitúe más abajo y cambie el contenido o la variable.- Aumentar el tamaño del código QR
Aumente el último número en
^BQN,2,2(pruebe^BQN,3,3). Si se corta, déle más espacio o muévalo a la izquierda/arriba con su^FO.- Añadir una línea separadora
Use un cuadro gráfico.
^FO0,40^GB540,2,2^FSdibuja una línea horizontal fina de 540 puntos de ancho.
Vista previa y prueba antes de imprimir¶
Dispone de dos formas sencillas de comprobar un diseño antes de usar etiquetas reales:
En Gem Logic: cada vez que guarda, aparece una imagen de vista previa de la etiqueta bajo el campo de diseño. Úsela como su principal herramienta de retroalimentación.
En línea: pegue su ZPL en el visor gratuito Labelary para ver una representación instantánea en diferentes tamaños de etiqueta. (Reemplace primero las
{variables}con texto de muestra, ya que Labelary no conoce los datos de su producto).
Si una etiqueta real se ve incorrecta — texto recortado, un QR que no se escanea, tamaño incorrecto — consulte la sección de etiquetas en Solución de problemas.
Referencia rápida de comandos¶
Comando |
Qué hace |
|---|---|
|
Inicio / fin de la etiqueta. Todo se encuentra entre ellos. |
|
Ancho de impresión en puntos. |
|
Longitud de etiqueta (altura) en puntos. |
|
Inicio de etiqueta — el punto de origen (normalmente |
|
Origen del campo — posiciona el siguiente elemento en x,y. |
|
Define la altura de fuente predeterminada ( |
|
Datos del campo — el contenido a imprimir — cerrado por un separador de campo. |
|
Comentario — ignorado por la impresora. No puede contener |
|
Oscuridad del medio (oscuridad de impresión). Mayor es más oscuro. |
|
Código QR; el último número es el tamaño. Los datos comienzan con |
|
Código de barras Code 128; |
|
Dibuja un cuadro o línea (ancho, alto, grosor en puntos). |
|
Codificación de caracteres, para que símbolos como |
Para el lenguaje completo, Zebra publica una guía de comandos ZPL completa, pero los comandos anteriores cubren casi todas las etiquetas de producto.