Impresión con Impresoras Térmicas

Generalmente las impresoras térmicas se pueden compartir en red y asociar a un puerto virtual LPT1:  para así facilitar la impresión mediante codigos Esc/Pos, lo cual ofrece una calidad y velocidad de impresión muy superior a la impresión en modo gráfico de las muestras impresas en formato PDF.

Para impresión con impresoras de inyección de tinta, ver aquí.

Configuración

  1. Instale la impresora con los drivers del proveedor y realice una prueba de impresión genérica para asegurar que la impresora opera correctamente.
  2. Comparta la impresora en red: En [Printer Properties > Sharing] marque la casilla “Share this printer” y asigne un nombre de red a la impresora.
  3. Abra una interfaz de comandos  (ejecute “cmd.exe”) en el computador desde el cual se ejecuta la API de SuperFactura.
  4. Ingrese el siguiente comando con el nombre de red de la impresora.
    NET USE LPT1 \\computador\impresora /PERSISTENT:YES
  5. Realice una prueba ejecutando el comando:
    echo "Test" > LPT1:

Impresión via API

La API de SuperFactura permite imprimir los documentos directamente a la impresora térmica y ofrece además soporte para todas las impresoras térmicas del mercado compatibles con EscPos.

Opciones de Impresión

La API de SuperFactura ofrece las siguientes opciones adicionales para imprimir directamente los documentos a una impresora térmica:

  • 'printer' : Indica que se debe imprimir a una impresora térmica conectada en un puerto específico. Siempre se debe indicar el puerto virtual “LPT1:” y no el puerto USB de la impresora.
  • 'model' : Indica el modelo de la impresora térmica permitiendo generar códigos y formatos Esc/Pos específicos según cada modelo de impresora. Ejemplos: 'default', 'rpt-005', 'xp-n160ii', ‘zj-5809k‘, etc. SuperFactura soportará, dentro de lo posible, todos los modelos de impresoras compatibles con Esc/Pos.
  • 'copias' : Indica el número de copias originales que deben ser impresas. Por defecto, se asume 1.
  • 'cedible' : Indica el número de copias cedibles que deben ser impresas. Por defecto, se incluirá una copia cedible para los documentos que corresponda.

Ejemplos de Uso

Acá encontrará ejemplos de uso para 1) imprimir los documentos con impresoras térmicas y 2) operar con el servicio offline (se pasa la opción "url" con la dirección y puerto del servidor local, que generalmente será “http://127.0.0.1:9080“).

Impresión via Web

Si se requiere imprimir desde una aplicación web a una impresora térmica instalada en el PC del usuario, se recomienda hacer lo siguiente:

  • En su aplicación web, debe colocar un botón “Print” que permitirá descargar un archivo en formato ESC/POS con la extensión especial “.pos” (ej: “doc.pos”). El contenido de este archivo se puede generar en el servidor usando la API de SuperFactura con la opción “getEscPos”. Este archivo se puede también descargar directamente desde el menú “Documentos Emitidos” de SuperFactura usando el botón “POS” que se encuentra al lado derecho del listado.
  • Luego, debe asociar los archivos “.pos” para que se impriman automáticamente al ser abiertos desde el browser:
    • En el PC del usuario, descargar y descomprimir el archivo print.bat y dejarlo en alguna carpeta que no sea eliminada accidentalmente por los usuarios.
    • En el explorador de Windows, abrir el archivo “doc.pos” con el menú derecho y la opción “Open With”
    • Seleccionar la opción “More Apps”
    • Seleccionar la opción “Look for another app on this PC”
    • Seleccionar el archivo “print.bat”

Así, la próxima vez que el navegador descargue un archivo .pos desde la web, este se abrirá con el comando print.bat que se encargará de enviarlo a la impresora en LPT1.

Solucionar Problema de Desconexiones

En caso de que su impresora térmica se desconecte automáticamente, puede ser útil eliminar y volver a agregar la impresora virtual LPT1.

Ejemplo:

NET USE LPT1 /DELETE
NET USE LPT1 \\localhost\pos

Leave a Comment