DPL vs ZPL: lenguajes Datamax y Zebra y cómo convertir
Tu etiqueta Datamax funcionaba desde hace años, pero la Zebra de sustitución la ignora o imprime las instrucciones como texto. DPL y ZPL describen etiquetas similares con comandos diferentes. Así puedes identificar el lenguaje y abordar la conversión de Datamax a Zebra.

¿Qué es ZPL?
ZPL significa Zebra Programming Language. Los formatos ZPL II suelen comenzar con ^XA y terminar con ^XZ, con ^FO para posicionar campos y ^FD para introducir datos. Ambos lenguajes describen el contenido; su nombre no determina papel, conexión ni resolución. USB y Ethernet pueden transportar el mismo lenguaje. Cambiar el cable no traduce los comandos ni adapta el diseño a una impresora distinta.
¿Qué es DPL?
DPL significa Datamax Programming Language, el lenguaje de impresoras de etiquetas asociado a Datamax y Datamax-O’Neil. Honeywell adquirió Datamax-O’Neil en 2015 y publica documentación DPL para los equipos compatibles. Sirve para describir texto, códigos de barras y gráficos en etiquetas y recibos; en este contexto, «códigos DPL» son instrucciones de impresora.
Las diferencias principales
DPL utiliza caracteres de control y registros de campos posicionales; ZPL usa comandos como ^FO y ^FD. Sus instrucciones no son intercambiables. Una conexión USB o de red transporta el trabajo, pero no traduce su lenguaje, y los mismos números no representan necesariamente las mismas posiciones físicas.
La compatibilidad depende del modelo, firmware y modo activo. Algunos equipos ofrecen emulación: comprueba la configuración antes de convertir. La transición de Datamax a Honeywell no significa que todas las Honeywell admitan todos los comandos DPL ni que una Zebra acepte automáticamente un trabajo Datamax.
| Característica | DPL | ZPL / ZPL II |
|---|---|---|
| Nombre completo | Datamax Programming Language | Zebra Programming Language (ZPL / ZPL II) |
| Fabricante | Datamax / Datamax-O’Neil → Honeywell | Zebra Technologies |
| Sintaxis / ejemplo de comando | <STX>L … E | ^FO30,30^A0N,24,16^FDHELLO^FS |
| Estado | Lenguaje Datamax con soporte documentado en equipos concretos | Familia documentada por Zebra; soporte ZPL II según modelo |
| Uso típico | Etiquetas en Datamax y equipos compatibles con DPL | Etiquetas en Zebra y equipos con emulación ZPL |
| Cómo empieza el archivo | A menudo <STX>L para entrar en formato; puede haber configuración antes | Formato de etiqueta: ^XA … ^XZ (prefijos habituales) |
Cómo saber cuál tienes
Abre una copia del archivo en un editor que permita mostrar caracteres de control. DPL suele entrar en modo de formato con <STX>L e imprimir el formato con E; STX es el byte de control 0x02, no los cinco caracteres literales <STX>. Puede haber comandos de sistema antes. En ZPL suelen aparecer ^XA … ^XZ y campos como ^FO y ^FD.
Busca registros de posición fija después del inicio DPL, sin fiarte solo de extensiones .dpl, .prn o .txt. Consulta el informe de configuración, la utilidad del fabricante y el manual para comprobar lenguajes y emulación activa. Revisa también qué envía el programa o controlador: el lenguaje del archivo y el modo de la impresora son cuestiones distintas.
Si imprime código como texto, puede haber un lenguaje o una ruta de impresión incorrectos. El editor de texto o el controlador también pueden dibujar los comandos como texto normal en lugar de enviarlos como instrucciones directas.
La impresora imprime código o caracteres extraños: diagnóstico
Cómo convertir DPL a ZPL
Conserva el DPL original y una etiqueta impresa correctamente. Comprueba primero si tu programa puede exportar ZPL directamente. Si no, abre el conversor, pega o carga una etiqueta completa, inspecciona el ZPL generado y compara la vista previa con la referencia. Descarga el resultado después de revisar todos los campos.
El conversor actual traduce una parte de los registros de texto, códigos de barras y formas simples. Aproxima fuentes, omite la cantidad Q y muchos comandos de configuración y no reproduce programas completos ni recursos descargados. Supone coordenadas simplificadas en puntos, sin interpretar todos los modos DPL de unidades y posición. La ausencia de avisos no demuestra fidelidad.
Abrir el conversor DPL a ZPLLa herramienta muestra el ZPL generado; no es un emulador completo de Datamax. Admite STX real o la notación visible <STX> y espera registros separados por saltos de línea. Si el archivo solo usa retornos de carro, normaliza una copia a CRLF o LF antes de pegarla y conserva el original.
Revisa el resultado antes de imprimir un lote
Compara dimensiones físicas, posiciones, giros, acentos, fuentes y logos. Hay que reconciliar los modos de medida DPL con los puntos ZPL; cambiar los DPI de la vista previa no escala todas las coordenadas generadas. Comprueba la simbología y los datos leídos del código de barras, no solo su aspecto. Reconstruye elementos no admitidos en el editor ZPL si hace falta.
Imprime una etiqueta en el equipo de destino con el papel real. Mídela, escanea sus códigos y comprueba el número de copias. Los gráficos almacenados, la configuración y la lógica de datos variables pueden requerir trabajo separado. Son comprobaciones de conversión, no una afirmación de pruebas con tu hardware.
Preguntas frecuentes
¿ZPL es mejor que DPL?
Ninguno es mejor en todos los casos. Ambos describen etiquetas; lo relevante es qué comandos acepta la impresora de destino. Convertir resulta útil al sustituir un flujo Datamax por otro que necesita ZPL.
¿Puedo convertir DPL a ZPL?
Sí, para los registros admitidos por el conversor. Utiliza el resultado como punto de partida y revisa coordenadas, unidades, fuentes, códigos y recursos omitidos antes de imprimir. Renombrar un archivo DPL no lo convierte.
¿Cómo sé qué lenguaje usa mi impresora?
Consulta el manual del modelo exacto, el informe de configuración y la utilidad del fabricante para conocer los lenguajes y la emulación activa. Revisa también el archivo y la salida elegida en tu programa: una impresora puede admitir varios lenguajes.
¿Por qué mi impresora imprime el código como texto?
Normalmente el trabajo llegó a la impresora como texto plano en lugar de comandos directos: suele pasar al enviarlo desde un editor de texto o por un controlador o puerto equivocados. Envía el DPL (o el ZPL convertido) como flujo directo a una impresora configurada en ese lenguaje.
Guías relacionadas
Referencias oficiales
Sobre el autor
Eduard Diaz
Eduard Diaz es técnico IT (desarrollo) en S-IE, partner oficial de Zebra con más de 20 años ofreciendo servicios de identificación y etiquetado. Desarrolla y mantiene EditorZPL para facilitar el trabajo con ZPL e impresoras de etiquetas Zebra.
s-ie.cat