Ir al contenido

IDEAS PRÁCTICAS · ASIMOV INGENIERÍA

Cómo instalar el Driver de una impresora térmica 58 mm y configurarla con CUPS

Desde Linux

Table of contents

No titles in the blog post

Las impresoras térmicas de 58 mm son muy utilizadas en puntos de venta (POS), cafeterías y negocios pequeños para imprimir tickets y recibos. Su instalación en Linux puede parecer complicada al inicio, pero gracias a CUPS (Common Unix Printing System) es posible configurarlas y usarlas de manera sencilla, incluso para imprimir desde aplicaciones como Odoo, navegadores web o directamente desde la terminal.

En este artículo te mostraremos cómo instalar el driver, configurar CUPS y hacer tus primeras pruebas de impresión.

Requisitos previos:
  • Una impresora térmica 58 mm (USB o serie).

  • Un sistema Linux (Raspberry Pi, Ubuntu, Debian, etc.).

  • Acceso a la terminal con permisos de sudo.

  • Paquetes de impresión instalados.

1. Instalación de CUPS y paquetes necesarios

Primero instalaremos los paquetes necesarios para que la impresora funcione correctamente:

sudo apt update
sudo apt install -y cups cups-client cups-bsd build-essential git libcups2-dev libcupsimage2-dev

Ahora activa el servicio CUPS, y colócalo en arranque automático

sudo systemctl enable cups
sudo systemctl start cups
2. Descargar el driver zj-58

Para las impresoras tipo ZJ-58, XP-58, POS58, etc., podemos usar un driver open-source compatible con ESC/POS.  El driver es open source y está disponible en GitHub. Clona su repositorio:

git clone https://github.com/klirichek/zj-58.git
cd zj-58

Dentro de la carpeta verás archivos como:

  • rastertozj.c → el filtro que convierte datos a ESC/POS.

  • zj58.ppd y zj80.ppd → descripciones de impresora (58 mm y 80 mm).

  • zjdrv.drv → base de drivers para CUPS.

 3. Compilar el filtro

Ejecuta el siguiente comando para compilar el filtro.

gcc rastertozj.c -o rastertozj `cups-config --cflags --libs`

4. Instalar el driver en el sistema

Copia los archivos al directorio de CUPS.

# Copiar el filtro (driver principal rastertozj) al sistema
sudo cp rastertozj /usr/lib/cups/filter/
# Da permisos de ejecución al filtro
sudo chmod 755 /usr/lib/cups/filter/rastertozj
# Instala los archivos PPD (descripción de la impresora)
sudo cp zj58.ppd /usr/share/cups/model/
sudo cp zj80.ppd /usr/share/cups/model/
# Instala el archivo DRV (definición del driver)
sudo cp zjdrv.drv /usr/share/cups/drv/

Reinicia CUPS para que se actualice:

sudo systemctl restart cups
5. Agrega la impresora 
  1. En tu navegador, dirígete a http://localhost:631, la cual te dirigirá a la página de CUPS. 
  2. Dirígete a Administration.

imagen incrustada

   3. Da click en Add Printer (Añadir impresora).

imagen incrustada

  4. Ahora escoge tu impresora. En este caso específico, la impresora a utilizar aparece como Unknown.

imagen incrustada

   5. Personaliza tu impresora. Para ello colócale un nombre, agrega una breve descripción y dónde se ubica. Marca la casilla Share this printer, para que puedas compartir tu impresora. Al finalizar, da click en Continue. 

imagen incrustada

  6. Te pedirá el modelo de la impresora. Como ya tenemos los drivers necesarios, en la sección Or Provide a PPD File, haz click en Choose File.

imagen incrustada

Te abrirá el explorador de archivos. Elige el archivo zj58.ppd, el cual está ubicado en /usr/share/cups/model.

imagen incrustada

Finalmente da click en Add Printer.

¡Y listo! Ya tienes configurada tu impresora térmica con los Drivers necesarios para que puedas imprimir cualquier tipo de documento. 

Realiza una prueba 

Busca una imagen de tu preferencia y da click en imprimir. 

NOTA: antes de enviar cualquier imagen a impresión, asegúrate de que el tamaño de la hoja esté configurado correctamente a 58 mm. Si no coincide, la impresora podría generar un error y no realizar la impresión.

Una vez teniendo la imagen seleccionada y con las configuraciones correspondientes, selecciona la impresora que acabas de configurar, e imprime la imagen.

imagen incrustada

¡Y listo! con esto ya podrás imprimir en tu impresora térmica sin problemas. 

Explora más temas en nuestra categoría Tecnología                                                                                ¿Tienes dudas o necesitas ayuda? Escríbenos