En este post explicaré cómo obtener y descargar el código fuente de mi plugin para impresoras térmicas versión 1, que es el que está publicado en la siguiente página:
https://parzibyte.me/blog/2019/08/01/plugin-impresora-termica-navegador-javascript/
Estoy liberando el código fuente porque ya existe la versión 3 del plugin, que por cierto te invito a probar.
Código fuente del plugin
El plugin para impresoras térmicas está programado con puro Go/Golang. Tiene un script de Python que hace la compilación y ahorra tiempo, pero solo es un script ayudante.
Técnicamente el plugin compila en cualquier lugar donde Go pueda compilar, pero hasta el momento solo lo he probado en derivados de Debian en Linux, y en Windows 10 y 11.
Veamos el README del código, que es el que me sirve a mí para compilar el código fuente.
Consideraciones del código fuente
Antes de comprar el código fuente toma en cuenta lo siguiente:
- Te enviaré el código fuente tal y como está, incluyendo posibles errores o falta de características (esto no significa que el código no funcione)
- Recomiendo que pruebes el plugin para ver sus características y lo que puede hacer
- La venta del código fuente no incluye soporte técnico ni respuesta a preguntas como “Cómo puedo cambiar tal cosa para X cosa”. Si quieres soporte puedo brindártelo con gusto, pero por un costo extra.
- La única guía que ofrezco es la publicada aquí junto con el vídeo de cómo compilar.
- No hay reembolsos
Comprar código fuente
El costo del código fuente es de 5000 pesos mexicanos. Para obtenerlo:
- Lee las consideraciones en este post, citadas más arriba. También lee la guía del código y mira el vídeo, al hacer el pago estás aceptándolas
- Procede al pago, puedes usar los siguientes métodos de pago: https://parzibyte.me/blog/pagos-venta-software/
- Una vez hecho el pago, sigue las instrucciones en el formulario de contacto de https://parzibyte.me/#contacto
- Yo te enviaré el código en un plazo de 36 horas una vez realizado el pago.
Requisitos
- Go en su versión más reciente. Yo puedo garantizar el funcionamiento con Go 1.17. El compilador debe estar en la PATH listo para ser invocado en cualquier lugar.
- GCC de 64 bits. Al ejecutar
gcc -v
enTarget
apareceTarget: x86_64-w64-mingw32
. También debe estar en la PATH para ser invocado en cualquier lugar - Opcional Python, para automatizar la compilación
Compilando por primera vez
Aparte de instalar GCC y todo lo demás como se explica más adelante, explicaré cómo compilarlo normalmente. Asumo que ya tienes el compilador de Go
Ejecuta go mod tidy
para descargar las dependencias
Luego ya puedes compilar con go build -tags gratuito
Si quieres agregar un dominio y compilarlo para premium entonces modifica origenes_permitidos.go
y agrega algo como lo siguiente:
// +build licencia
package main
var OrigenesPermitidos = []string{
"https://parzibyte.me",
}
Guía para compilar en 32 bits
Nota: Solo he probado esto en Windows 10 y 11
Puedes compilar para 32 bits desde una computadora de 64. Para ello necesitas instalar Go de 32 bits como se indica en: https://parzibyte.me/blog/2019/08/16/compilar-go-32-bits-desde-64-bits-cross-compile/
También vas a necesitar GCC para 32 bits: https://parzibyte.me/blog/2019/08/16/instalar-compilador-c-cpp-windows-32-bits/
Antes de compilar, debes modificar la PATH temporalmente. Debes colocar la ruta de MinGW y de Go de 32 bits antes que las de 64 bits. Eso se logra con:
SET PATH=C:\Go32\go\bin;C:\MinGW\bin;%PATH% && SET GOROOT=C:\Go32\go\
Nota: en mi caso he colocado a Go de 32 bits en C:\Go32
y he instalado MinGW de 32 bits en C:\MinGW\bin
obviamente en tu caso puede cambiar, revisa las rutas antes de compilar, no solo se trata de copiar y pegar.
Para saber si has compilado correctamente, comprueba el tamaño del archivo compilado. Yo he notado que el de 32 bits pesa menos que el de 64 bits.
Apuntes
El código QR máximo en mi impresora XPrinter 58 es de 250 caracteres, puede variar hasta un poco más pero recomiendo dejarlo en 200 (sí, menos que 250)
Para las personas que quieren usar el plugin desde el protocolo file:/// el origin es simplemente null
La resolución máxima de una imagen es de 400 pixeles, con eso sale bien en mi 58 milímetros
Forma de uso
Primero configura tu impresora; instala sus drivers como genéricos o no genéricos
Ahora asegúrate de que la impresora está compartida desde el panel de control: https://parzibyte.me/blog/2017/12/11/instalar-impresora-termica-generica/
Descarga el plugin y ejecútalo; no lo cierres
Ahora visita la prueba en:
https://parzibyte.me/plugin-impresora-termica-v1/ejemplo.php
En ese sitio puedes obtener y establecer la lista de impresoras; en caso de que la impresora que quieres se haya compartido de manera exitosa, estará en la lista.