Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Python
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2025
jourdan jourdan is offline
Miembro
 
Registrado: may 2003
Ubicación: Mexico
Posts: 164
Poder: 23
jourdan Va por buen camino
Reporteador Python

Buenas tardes, qué reporteador Python recomendarian para imprimir directamente a una impresora térmica epson de tickets?
Gracias
__________________
Alejandro Jourdan
Responder Con Cita
  #2  
Antiguo 28-02-2025
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para imprimir directamente a una impresora térmica Epson de tickets desde Python, te recomendaría las siguientes opciones:
1. ESCPOS Python
  • Descripción: Es una librería diseñada específicamente para impresoras térmicas que soportan el protocolo ESC/POS (usado por Epson).
  • Características:
    • Permite impresión de texto, imágenes, códigos de barras y QR.
    • Soporta caracteres especiales y ajuste de formato (negrita, tamaño, alineación).
    • Permite cortar el papel y abrir el cajón de dinero si está conectado.
  • Instalación:
    pip install python-escpos
  • Ejemplo de uso:
    from escpos.printer import Usb # Configurar con el Vendor ID y Product ID de la impresora (ajustar según tu modelo) p = Usb(0x04b8, 0x0202) p.text("Hola, este es un ticket\n") p.barcode('123456789012', 'EAN13', 64, 2, '', '') p.cut()
  • Ideal para: Control total sobre la impresión en impresoras térmicas Epson.
2. ReportLab (Si necesitas generar PDFs antes de imprimir)
  • Descripción: No es específico para impresoras térmicas, pero permite generar PDFs y luego enviarlos a la impresora.
  • Instalación:
    pip install reportlab
  • Ejemplo de uso:
    from reportlab.pdfgen import canvas c = canvas.Canvas("ticket.pdf") c.drawString(100, 750, "Hola, este es un ticket") c.save()
  • Luego puedes enviarlo a la impresora con:
    lp -d NOMBRE_IMPRESORA ticket.pdf
  • Ideal para: Casos donde se requiere generar una versión digital del ticket antes de imprimir.
3. Directo a la impresora con cups (en Linux)
  • Si la impresora está instalada en el sistema, puedes imprimir texto plano directamente usando cups:
    import cups conn = cups.Connection() printers = conn.getPrinters() printer_name = "nombre_de_tu_impresora" conn.printFile(printer_name, "ticket.txt", "Ticket de Venta", {})
  • Ideal para: Impresión sencilla sin formato avanzado.
¿Cuál elegir?
  • Para impresión directa y control total en impresoras térmicas Epson → Usa ESCPOS Python.
  • Si necesitas generar PDFs antes de imprimir → Usa ReportLab.
  • Si la impresora ya está configurada en el sistema y solo necesitas texto → Usa CUPS (Linux).


PD: Respuesta patrocinada por chatgtp
Responder Con Cita
  #3  
Antiguo 28-02-2025
jourdan jourdan is offline
Miembro
 
Registrado: may 2003
Ubicación: Mexico
Posts: 164
Poder: 23
jourdan Va por buen camino
Muchas gracias Casimoro, voy a revisar estas opciones.
Saludos
__________________
Alejandro Jourdan
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Reporteador ... cual? alquimista_gdl Varios 7 31-03-2009 16:59:45
Tutorial de Python 'Python para todos' marcoszorrilla Noticias 11 15-02-2009 05:19:15
Problemas con mi Reporteador eveprogram Impresión 1 12-05-2008 22:07:58
Reporteador trex2000 Impresión 2 28-09-2004 22:05:23
Cartas en un Reporteador cafupe Impresión 0 22-10-2003 02:08:05


La franja horaria es GMT +2. Ahora son las 16:03:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi