Ver Mensaje Individual
  #2  
Antiguo 28-02-2025
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.681
Reputación: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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