Enviar DTE directo a impresora (sin abrir PDF)

Ahora es posible imprimir un DTE con sólo un click, sin tener que abrir el PDF ni seleccionar impresora ni menos tener que volver a hacer otro click para imprimir. Además podrás enviar a imprimir a impresoras térmicas usando el protocolo ESCPOS el que entregará una calidad superior a la de imprimir el PDF en la impresora térmica.

Enviar a imprimir directamente desde la aplicación web, y más aun, hacerlo enviando el código ESCPOS necesario para la impresora térmica no es algo que las aplicaciones web puedan hacer por si mismas. Se deben ayudar de algún programa externo. En nuestro caso lo hacemos enviando desde la aplicación web la solicitud de impresión a un servidor de WebSockets que se ejecuta localmente en el computador del usuario. De esta forma, es el websocket el que realmente envía a imprimir.

LibreDTE utiliza 2 websockets:

  • ws://localhost:2186/print/pdf
  • ws://localhost:2186/print/escpos

El primero envía a imprimir un PDF y el segundo envía a imprimir un código ESCPOS. En ambos casos el mensaje enviado al websocket son los datos comprimidos usando ZIP.

El websocket debe:

  1. Recibir la acción a realizar, que por ahora sólo es “print” pero se recomienda dejar esto controlado ya que en el futuro podrían haber más acciones.
  2. Determinar el formato en que se envían los datos: actualmente “pdf” y “escpos”.
  3. Descomprimir los datos usando ZIP.
  4. Enviar a imprimir el PDF o el código ESCPOS según corresponda.

Para la impresión, si se usa el PDF, se podría enviar a cualquier tipo de impresora, en cambio el código ESCPOS sólo debe ser enviado a impresoras térmicas compatibles con dicho formato.

Para tener la opción de “imprimir” disponible tanto en un DTE temporal (cotización) o un DTE real, se debe habilitar en la pestaña “Facturación” de la configuración de la empresa la opción “¿Impresión directa?”.

WebSocketd Printer

En SASCO hemos desarrollado un nuevo programa este 2021 que se puede instalar fácilmente y es independiente de la antigua alternativa con el cliente de LibreDTE.

La aplicación permite actualmente:

  • Imprimir un PDF en alguna impresora del sistema. Por defecto imprimirá en la impresora predeterminada que tengamos instalada.
  • Imprimir en una impresora térmica en red usando ESCPOS.

Si eres usuario de Microsoft Windows, tenemos un instalador para Windows para que sea más fácil el proceso. y a continuación puedes ver un video con la instalación y uso:

Actualmente no se permite imprimir en una impresora térmica bluetooth o una conectada localmente por USB. Estamos trabajando en esa nueva funcionalidad 🙂

¿Necesitas agregar un pequeño margen a la izquierda al imprimir? Revisa el siguiente video:

En resumen, debes agregar al acceso directo en “destino” se debe agrear ” –printer_margin” (con un espacio al inicio).

¿Estás interesado en el código fuente? Revisa el repositorio en Github de WebSocketd Printer.

Recuerda que si eres cliente de SASCO SpA puedes solicitar soporte para configurar esto en https://libredte.cl/soporte

4 thoughts on “Enviar DTE directo a impresora (sin abrir PDF)

    • Para iPad puede utilizar una impresora conectada por Bluetooth e imprimir el PDF del documento, por ejemplo el PDF hoja carta o bien el PDF en formato papel continuo.

      Esta opción de impresión directa usando el servidor de websocket por el momento es sólo para computador. Ya que requiere instalar un programa en el computador.

  • estimados
    Como se define el tamaño de impresión automático entre Carta 80 75 50 en la impresora de ticket(80) por pdf automático solo me imprime en carta y debería ser en 80mm

Agregar un comentario

Su dirección de correo no se hará público.