Diseño de formatos de etiquetas y tickets para la impresión de archivos CSV y TXT con ESC POS

Esta guía está diseñada específicamente para impresoras compatibles con el estándar ESC/POS, que son comúnmente utilizadas para imprimir tickets utilizando rollos térmicos. Estas impresoras son básicas y presentan ciertas limitaciones que pueden afectar la apariencia final de los diseños impresos. Entre las restricciones más comunes se encuentran el tamaño de la impresión, el tipo de letra y la codificación de caracteres, lo que puede influir en cómo se visualizan elementos como los acentos. Es importante tener en cuenta estas limitaciones al diseñar y configurar sus etiquetas para asegurar la mejor calidad posible dentro de las capacidades técnicas de estas impresoras.


Diseño de etiquetas o tickets mediante comandos ESC/POS

A continuación se proporcionarán las instrucciones para crear un diseño de etiqueta o ticket utilizando ESC/POS.

El siguiente código proporciona un ejemplo general de los comandos de impresión que puedes utilizar con Text2 Barcode para diseñar tus formatos. A continuación, se explicará detalladamente el uso de cada una de las funciones disponibles.

Ejemplo de impresión del código previamente mostrado.


Descripción: Inicializa la impresora. Este comando limpia los datos en el búfer de impresión y restablece la impresora a su configuración por defecto.

<Init/>

ParámetroValorDescripción
widthnumberAncho del Ticket en milímetros
marginLeftnumberMargen izquierdo en milímetros
dpi"203", "300", "600"DPI para calcular el ancho y margen del ticket

Ejemplo para inicializar la impresora:

<EscPos>
  <Init/>
</EscPos>

Opcional: Ejemplo para configurar un ticket con un ancho de 51 mm:

<EscPos>
  <Init width="51" dpi="203"/>
</EscPos>

Opcional: Ejemplo para configurar un ticket con un margen izquierdo de 5 mm y un ancho de 60 mm.

<EscPos>
  <Init marginLeft="5" width="60" dpi="203"/>
</EscPos>

Este comando se utiliza para imprimir texto.

<Text>

Ejemplo: <Text>Contenido</Text>

ParámetroValorDescripción
font"A", "B", "C"Nombre de la fuente
fontWidth[1-8]Ancho del carácter
fontHeight[1-8]Altura del carácter
justification"left", "center", "right"Ajuste horizontal de la justificación
underline"one-dot-thick", "two-dot-thick", "none"Subrayado
lineSpacing[0-255]Espaciado entre líneas
doubleStriketrue or falseDoble tachado
boldtrue or falseNegrita
inversetrue or falseTexto inverso
fotmatstring "%s"Atributo para agregar texto o formatear
prefixstringTexto que se coloca al inicio del contenido
suffixstringTexto que se coloca al final del contenido
lftrue or falseActiva o desactiva el salto de línea al final del texto
Este conjunto de parámetros permite una gran flexibilidad en la presentación del texto, facilitando la adecuación a las especificaciones del documento y mejorando la legibilidad del mismo.

Ejemplo:

<EscPos>
    <Text
        font="A"
        fontWidth="1" 
        fontHeight="1" 
        justification="left"
        underline="none"
        lineSpacing="0"
        doubleStrike="true" 
        bold="true" 
        inverse="true"
        format="texto: %s"
        prefix="Antes "
        suffix=" Final"
        lf="true"
    >
        Hola Mundo
    </Text>
</EscPos

Imprimir Código QR

Descripción: Este comando se utiliza para imprimir un código QR.

<QrCode>

Ejemplo: <QrCode>Content</QrCode>

ParámetroValorDescripción
model"1" o "2"Modelo de código QR
errorCorrectionLevel"L", "Q", "H" o "M"Nivel de corrección de errores del QR
size[1-16]Establece el tamaño del módulo en puntos
justification"left", "center", "right"Ajuste horizontal de la justificación
Estos atributos permiten personalizar la apariencia y la robustez del código QR impreso, asegurando que se ajuste a las necesidades específicas de presentación y escaneo.

Ejemplo:

<EscPos>
    <QrCode 
        model="1" 
        errorCorrectionLevel="M" 
        size="3" 
        justification="left"
    >
        1234567890
    </QrCode>
</EscPos>

Resultado


Imprimir Código de Barras

Descripción: Este comando se utiliza para imprimir un código de barras.

<BarCode>

Ejemplo: <BarCode>Content</BarCode>

ParámetroValorDescripción
type'upca' | 'upca_b' | 'upce_a' | 'upce_b' | 'jan13_a' | 'jan13_b' | 'jan8_a' | 'jan8_b' | 'code39_a' | 'code39_b' | 'itf_a' | 'itf_b' | 'codabar_a' | 'codabar_b' | 'code93_default' | 'code128'Sistema de código de barras
width[2-6]Ancho del código de barras
height[1-255]Altura del código de barras
hriPosition"above-bar-code", "below-bar-code", "above-and-below-bar-code", "not-printed"Posición de la interpretación legible por humanos (HRI)
hriFont"A", "B", "C"Fuente para la interpretación legible por humanos (HRI)
justification"left", "center", "right"Ajuste horizontal de la justificación
Estos parámetros permiten a los usuarios especificar el tipo, tamaño y posición del código de barras, así como la ubicación y el tipo de fuente del texto legible asociado al código, proporcionando una personalización completa para cumplir con las necesidades específicas de etiquetado y escaneo.

Ejemplo:

<EscPos>
    <BarCode 
        type="code128" 
        width="2" 
        height="40" 
        hriPosition="below-bar-code" 
        hriFont="A" 
        justification="left"
    >
        1234567890
    </BarCode>
</EscPos>

Resultado


Imprimir Código PDF417

Descripción: Este comando se utiliza para imprimir un código PDF417, un tipo de código de barras bidimensional.

<PDF417>

Ejemplo: <PDF417>Contenido</PDF417>

ParámetroValorDescripción
option"truncated", "standard"Opción de PDF417: truncado o estándar
errorCorrectionLevel[0-8]Nivel de corrección de errores del PDF417
width[3-5]Ancho del código
height[2-8]Altura del código
numberOfColumnsnúmeroEstablece el número de columnas en la región de datos
numberOfRowsnúmeroEstablece el número de filas
justification"left", "center", "right"Ajuste horizontal de la justificación
Estos parámetros permiten personalizar completamente el código PDF417 en términos de dimensiones, niveles de seguridad de los datos y alineación, lo que lo hace adecuado para una amplia variedad de aplicaciones que requieren codificación densa y robusta de información.

Ejemplo:

<EscPos>
  <PDF417
      option="standard"
      errorCorrectionLevel="1" 
      width="3"
      height="4"
      numberOfColumns="0"
      numberOfRows="0"
      justification="left"
  >
      1234567890
  </PDF417>
</EscPos>

Resultado


Imprimir Imagen

Descripción: Este comando se utiliza para imprimir una imagen, incluyendo la posibilidad de imprimir códigos QR.


<Image/>

AtributoValorDescripción
uri"http", "https", "file"Identificador Uniforme de Recursos, ubicación de la imagen
base64"string"Contenido de la imagen en formato base64
widthnúmeroAncho de la imagen
heightnúmeroAltura de la imagen
justification"left", "center" or "right"Establecer justificación horizontal
filter"dither" or "monochrome" default:"dither"Filtro para la imagen
threshold[0-255] default:127Umbral para la escala de grises
Este comando permite especificar la fuente de la imagen a través de una URL o directamente proporcionando el contenido en formato base64, junto con dimensiones personalizadas para la impresión. Esto es útil para integrar imágenes en documentos impresos de manera eficiente y con alta fidelidad.

Ejemplo:

<EscPos>
    <Image 
        uri="https://labeldictate.com/text2barcode/img/logo.png" 
        width="500" 
    />
</EscPos>

Resultado


Feed

Descripción: Este comando imprime los datos en el búfer de impresión y avanza «n» líneas. Es útil para crear espacios entre secciones de texto o imágenes en una impresión.

<Feed/>
ParámetroValorDescripción
linesnúmeroNúmero de líneas a avanzar
Este comando es esencial para ajustar el espaciado en documentos impresos, permitiendo un control preciso sobre la distribución del contenido en la impresión.

Ejemplo:

<EscPos>
<Feed lines="1" />
</EscPos>

Cut – Cortar Papel

Descripción: Este comando se utiliza para activar la función de corte de papel en la impresora, permitiendo seleccionar entre un corte total o parcial.

<Cut/>
ParámetroValorDescripción
mode"part", "full"Tipo de corte de papel: parcial o completo
Este comando es compatible únicamente con impresoras que cuenten con un cortador instalado, garantizando un corte preciso y automático del papel según las necesidades del usuario.

Ejemplo:

<EscPos>
<Cut mode="full" />
</EscPos>

Bytes

Descripción: Este comando se utiliza para enviar bytes directamente a la impresora. La cadena debe estar formateada con pares hexadecimales separados por espacios.

<Bytes>Cadena con pares hexadecimales</Bytes>

Este método proporciona un control detallado sobre la impresora al permitir la entrada manual de códigos de control específicos, como los necesarios para funciones de corte de papel y otros comandos específicos del dispositivo.

Ejemplo:

<EscPos>
<!-- Initialize printer - ESC @ -->
<Bytes>1B 40</Bytes> <!-- Hex -->

<!-- Print "Hello World" - Text data -->
<Bytes>48 65 6C 6C 6F 20 57 6F 72 6C 64</Bytes> <!-- Hex for "Hello World" -->

<!-- Two Line Feeds - LF -->
<Bytes>0A 0A</Bytes> <!-- Hex for two line feeds -->

<!-- Cut Paper - GS V 49 -->
<Bytes>1D 56 31</Bytes> <!-- Hex -->
</EscPos>

Tabla de comandos nativos ESC/POS

En el siguiente enlace para acceder a la tabla de comandos compatibles con ESC/POS, donde encontrarás una lista detallada de instrucciones para manejar tu impresora de manera efectiva.



Declaración de Variables y Asignación de Columnas para Archivos

Para asegurar una correcta integración con Text2 Barcode y Web2 Barcode, es crucial declarar adecuadamente las variables utilizadas en las etiquetas. Estas variables deben corresponder a las columnas específicas de los archivos CSV y TXT que se utilicen.

Para declarar una variable, utilice el símbolo de porcentaje (%) antes y después del nombre de la variable, sin dejar espacios. Por ejemplo, si desea referenciar el precio de un producto en su etiqueta, debe escribir

%PRECIO%.

Esta forma de notación es esencial para que el sistema reconozca de manera efectiva la variable y extraiga el valor correspondiente del archivo de datos. Asegúrese de seguir este formato para evitar errores en la impresión de sus etiquetas y optimizar el flujo de trabajo con nuestras aplicaciones.


Ejemplos de diseño


A continuación, se presentan ejemplos de diseños compatibles con Text2 Barcode y Web2 Barcode. Para utilizar estos diseños de manera efectiva, será necesario realizar las configuraciones necesarias en cada aplicación correspondiente. Esto asegura que los diseños se adapten y funcionen correctamente dentro del entorno de cada software.

Este diseño incluye el nombre o descripción del producto, su precio y un código de barras. Este formato permite una identificación clara y rápida del producto, facilitando tanto la gestión de inventarios como la experiencia de compra para los clientes. Ideal para su uso en entornos de venta al detalle y almacenamiento.

Código

<EscPos>
    <Init/>
    <Text justification="left" lf="true">
        %DESCRIPCION%
    </Text>

    <Feed lines="1" />

    <Text font="A" fontWidth="2" fontHeight="2" justification="center" bold="true" lf="false">
        $
    </Text>

    <Text font="A" fontWidth="4" fontHeight="3" justification="center" bold="true" lf="false">
       %PRECIO%
    </Text>

<Feed lines="1" />

    <BarCode codeType="code128" width="2" height="50" hriPosition="below-bar-code" justification="right">
       %CODIGO%
    </BarCode>

    <Feed lines="3" />

   <Cut mode="full" />

</EscPos>

Nota: Los diseños mostrados son ilustrativos y podrían variar al momento de la impresión. Estas diferencias pueden deberse al firmware específico de cada fabricante de impresora, los tipos de letra compatibles y el ancho de impresión que maneja la impresora.

Diseño Promocional: Este diseño se centra en resaltar productos en oferta, mostrando de manera destacada el nombre o descripción del producto, el precio con descuento promocional, el precio de lista normal y el código de barras. Es ideal para captar la atención de los clientes hacia ofertas especiales y facilitar el proceso de compra, al tiempo que se mantiene una gestión eficiente del inventario.

Código

<EscPos>

 <Init/>

    <Text fontWidth="2" fontHeight="2" justification="center" bold="true" doubleStrike="true" inverse="true" lf="true">
     OFERTA
    </Text>

    <Feed lines="1" />

    <Text justification="left" lf="true">
        %DESCRIPCION% 
    </Text>

<Feed lines="1" />

    <Text fontWidth="2" fontHeight="2" justification="center" bold="true" lf="false">
     %OFERTA%
    </Text>

    <Text fontWidth="0" fontHeight="0" justification="center" bold="true" underline="one-dot-thick" format="  Antes: $%s" lf="true">
%PRECIO%
   </Text>

<Feed lines="1" />

    <BarCode codeType="code128" width="2" height="50" hriPosition="below-bar-code" justification="right">
         %CODIGO%
    </BarCode>
   
    <Feed lines="4" />

   <Cut mode="full" />

</EscPos>

Nota: Los diseños mostrados son ilustrativos y podrían variar al momento de la impresión. Estas diferencias pueden deberse al firmware específico de cada fabricante de impresora, los tipos de letra compatibles y el ancho de impresión que maneja la impresora.


Enlaces relacionados.

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *