52 Ticket de Venta Térmico en Laravel Formato 80mm, Número a Letras y CódigoQR🧾🖨️Sistema de Farmacia
Duración: 10 min¡Contenido Exclusivo!
Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.
Inscribirse Ahora por $10.00 Acceso instantáneo de por vida y código fuente incluido.Descripción
🚀 Lección 52: Ticket de Venta Térmico en Laravel: Formato 80mm, Número a Letras y Código QR
En este capítulo expandimos las capacidades de facturación del Sistema para Farmacia adaptando el flujo de salida de comprobantes a los estándares del comercio masivo. Desarrollamos la impresión en formato Ticket de 80mm optimizado para ticketeadoras térmicas continuas, e implementamos un formateador dinámico para convertir montos numéricos a texto literal.
🎯 El Objetivo Central
Crear la ruta y el método imprimirTicket en el backend para renderizar una plantilla HTML/CSS compacta con dompdf, inyectando dimensiones personalizadas en milímetros, conversión monetaria a letras y persistencia de código QR.
🛣️ Lógica del Controlador y Dimensionamiento del Ticket (80mm)
- La Ruta Operativa: Definimos el endpoint que recibe la ID de la venta y gatilla la función imprimirTicket.
- Configuración del Lienzo Térmico: A diferencia del formato carta convencional (leather), en el controlador parametrizamos las dimensiones explícitas basadas en puntos/milímetros para impresoras de punto de venta (POS). Establecemos un ancho fijo de 80mm y configuramos el largo de página de forma dinámica.
- Flujo de Corte Continuo: La plantilla está maquetada para expandirse verticalmente según el volumen de medicamentos comprados. Al enviarse a la impresora térmica, el hardware omitirá los saltos de página rígidos y ejecutará la guillotina automática (autocut) exactamente al llegar al pie de página (footer), evitando el desperdicio de papel.
🔤 Formateador de Moneda: Conversión de Números a Letras
Elevamos la formalidad fiscal del comprobante incorporando un helper de conversión literal:
- El sistema captura el total neto en formato decimal (ej: 119.85) y genera automáticamente la cadena de texto correspondiente para la impresión: "CIENTO DIECINUEVE 85/100 BOLIVIANOS" (o la divisa configurada de manera global en el módulo de ajustes).
🧾 Diseño de la Plantilla POS Completa
La vista compacta de 80mm concentra la información esencial de auditoría de forma estilizada:
- Encabezado: Datos de la farmacia, NIT y sucursal obtenidos de las variables globales.
- Metadata de Atención: Identificación clara del cliente, caja de origen y nombre del cajero/empleado que despachó.
- Tabla de Renglones: Cantidad, nombre comercial/genérico abreviado y subtotal por ítem.
- Bloque de Cierre: Código QR dinámico de la transacción, hora exacta de impresión y mensaje de cortesía corporativo.
Al concluir este capítulo, los estudiantes sabrán cómo diseñar interfaces para hardware POS y controlar flujos de impresión continua en Laravel. ¡Con esto cerramos de forma impecable el bloque de facturación física!
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️