El día de hoy te enseñaré a imprimir un PDF de manera directa a una impresora térmica, sin cuadros de diálogo ni confirmaciones de usuario; todo de manera silenciosa.
De esta manera podrás imprimir un PDF generado en cualquier lugar directamente a una impresora térmica.
En estos casos yo siempre prefiero usar comandos ESC POS para imprimir, pero si tú ya tienes tu diseño del PDF entonces veamos cómo hacerlo. Yo lo haré con JavaScript pero verás que se puede hacer con cualquier lenguaje de programación.
Para que esto funcione debemos descargarnos 2 herramientas gratuitas: el plugin PDF y PDFtoPrinter (una vez que abras ese enlace haz clic en download it here). Las mismas deben estar en la misma ubicación y solo debes ejecutar el plugin.
Es decir, debes tener a PDFtoPrinter.exe
y plugin_pdf_prod_ARQUITECTURA.exe
en la misma carpeta, y después de eso ejecutar plugin_pdf_prod_ARQUITECTURA.exe
.
Comprueba que se está ejecutando en el administrador de tareas dentro de “Detalles”
Ahora solo tenemos que hacer una petición HTTP. JavaScript ofrece una manera muy simple a través de fetch. Para este ejemplo voy a imprimir un PDF de internet que está en: https://parzibyte.github.io/plugin-silent-pdf-print-examples/delgado.pdf
El código es realmente simple y queda así:
const urlPDF = "https://parzibyte.github.io/plugin-silent-pdf-print-examples/delgado.pdf";
const nombreImpresora = "PT210";
const url = `http://localhost:8080/url?urlPdf=${urlPDF}&impresora=${nombreImpresora}`;
fetch(url)
Y eso es todo. Al momento de que ese código sea ejecutado, el resultado será parecido al siguiente:
Como puedes ver, solo tuve que invocar a localhost:8080/url
pasándole la URL del PDF (urlPdf
) y el nombre de la impresora (nombreImpresora
).
El diseño del ticket lo hice en un procesador de textos, pero tú puedes diseñarlo en cualquier entorno. También puedes imprimir un PDF local o un PDF alojado en localhost.
Ahora ya podrás usar JavaScript para imprimir un PDF de cualquier diseño pero sobre todo de manera silenciosa sin que el usuario tenga que seleccionar la impresora manualmente.
Serás capaz de usarlo en cualquier framework como jQuery, React, Svelte, Vue, etcétera, ya que solo necesitas hacer una petición HTTP.
Lo que te mostré es solo un simple ejemplo para imprimir un PDF desde cualquier lugar a cualquier tipo de impresora.
Específicamente has aprendido a imprimir un PDF en una thermal printer o POS printer usando JavaScript, pero te repito que al ser un servidor HTTP podrás invocarlo desde cualquier otro lenguaje.
Te dejo el post de presentación en donde vas a encontrar más ejemplos y documentación de la API: https://parzibyte.me/blog/2020/12/07/plugin-imprimir-pdf-manera-silenciosa-javascript/
Por cierto, este plugin también permite imprimir en impresoras virtuales (como la Microsoft Print to PDF) así que puedes hacer todas las pruebas que quieras sin usar papel.
Finalmente te quiero recomendar mi plugin para impresoras térmicas que es muy parecido a este pero usa comandos ESC POS y a mi parecer los tickets quedan más legibles.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.