Hace algún tiempo te mostré cómo imprimir tickets en impresora térmica con PHP puro usando la maravillosa librería de Mike42, ahora te mostraré cómo hacerlo e integrarlo dentro del framework Laravel.

Al final vamos a imprimir un ticket usando Laravel, desde una ruta que va a invocar a un controlador.

Instalación de la librería

Debido a que Laravel utiliza composer para gestionar sus dependencias no hay problema en instalar la librería de esc pos usando este método. Para ello en tu proyecto abre una terminal y ejecuta:

composer require mike42/escpos-php

Espera a que se instale. Si pide extensiones habilítalas. Se debe ver así:

Instalando librería escpos-php en Laravel para imprimir tickets

Inclusión de la librería

Puedes invocar a los métodos desde donde tú quieras, para hacerlo simplemente indica que usarás el espacio del nombre de la librería. Lo bueno es que el autoload ya está incluido.

En este caso usaré WindowsPrintConnector porque estoy en Windows, y Printer es obligatorio para la impresora.

<?php
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
use Mike42\Escpos\Printer;

Imprimir primer ticket con Laravel

Ahora, desde cualquier método, ruta, controlador, etcétera podemos imprimir el ticket. Yo lo haré dentro de un controlador y queda así:

<?php
$nombreImpresora = "POS-58";
$connector = new WindowsPrintConnector($nombreImpresora);
$impresora = new Printer($connector);
$impresora->setJustification(Printer::JUSTIFY_CENTER);
$impresora->setTextSize(2, 2);
$impresora->text("Imprimiendo\n");
$impresora->text("ticket\n");
$impresora->text("desde\n");
$impresora->text("Laravel\n");
$impresora->setTextSize(1, 1);
$impresora->text("https://parzibyte.me");
$impresora->feed(5);
$impresora->close();

Recuerda que aplican las mismas reglas que cuando lo hicimos con PHP puro; es decir, si no tienes los controladores debes instalar la impresora como genérica y compartirla. El paso de compartirla es muy importante.

Al invocar a ese método desde una ruta, el resultado es:

Ticket impreso con Laravel y ESC POS

A partir de este ejemplo puedes imprimir tickets más complejos, tickets de venta, imágenes, etcétera.Yo ando haciendo este tutorial porque estoy trabajando en un punto de venta open source de Laravel que publicaré muy pronto.

Te invito a mirar más tutoriales de Laravel en mi blog.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto