Go y Golang

Código fuente de plugin para impresora térmica v1

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:

  1. 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
  2. Procede al pago, puedes usar los siguientes métodos de pago: https://parzibyte.me/blog/pagos-venta-software/
  3. Una vez hecho el pago, sigue las instrucciones en el formulario de contacto de https://parzibyte.me/#contacto
  4. Yo te enviaré el código en un plazo de 36 horas una vez realizado el pago.

Requisitos

  1. 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.
  2. GCC de 64 bits. Al ejecutar gcc -v en Target aparece Target: x86_64-w64-mingw32. También debe estar en la PATH para ser invocado en cualquier lugar
  3. 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.

Vídeo de apoyo

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.