Text2 Barcode Web Print API
Introducción
Text2Barcode sirve como intermediario entre las aplicaciones web y las impresoras locales. Su propósito principal es permitir que las aplicaciones web envíen trabajos de impresión directamente a las impresoras conectadas al dispositivo del usuario, sin necesidad de intervención manual ni configuración adicional en el navegador.
Detalles
- Ejecución Local: La aplicación se ejecuta en un dispositivo local del usuario donde está instalada la impresora.
- API JavaScript: Proporciona una API que los desarrolladores pueden usar para integrar la funcionalidad de impresión en sus aplicaciones web (frontend). Esto incluye funciones para listar impresoras disponibles, seleccionar impresoras y enviar trabajos de impresión.
- Soporte para Múltiples Lenguajes de Impresión: Compatible con lenguajes de impresión como ZPL, EPL, TSPL y ESC/POS-XML.
- Multiplataforma: Funciona en Windows, macOS, Android e iOS, lo que lo hace adecuado para una amplia gama de entornos.
- Impresión Silenciosa: Permite imprimir sin mostrar diálogos de impresión ni requerir intervención del usuario, lo que es ideal para entornos donde se necesita una impresión rápida y continua, como en puntos de venta (POS), generación de etiquetas, y otros sistemas automatizados.
Cómo Funciona:
- Instalación de Text2Barcode: El usuario instala Text2Barcode en su dispositivo local. Esta aplicación corre en segundo plano y permite la comunicación entre el navegador y la impresora local.
- Uso de la API JavaScript: Los desarrolladores integran la API de Text2Barcode en su aplicación web.
- Envío de Trabajos de Impresión: Desde la aplicación web, los trabajos de impresión son enviados directamente a Text2Barcode, que luego los envía a la impresora seleccionada.
Para comprender cómo funciona, puede explorar el siguiente enlace a la API: https://labeldictate.com/text2barcode/test/.
Funciones Disponibles
Dependencias
Para utilizar las funciones de impresión, primero importa las dependencias necesarias:
<script src="https://labeldictate.com/text2barcode/lib/t2bprinter.js"></script>
Impresoras disponibles.
Obtiene una lista de todas las impresoras disponibles conectadas al dispositivo, permitiendo su posterior gestión o selección para operaciones de impresión:
const available = await T2bPrinter.available()
for (const printer of available.printer) {
console.debug("printer", JSON.stringify(printer, null, 1))
}
Respuesta
{
"printer":[
{
"uid":"ZDesigner GK420t Plus (ZPL)",
"name":"ZDesigner GK420t Plus (ZPL)",
"manufacturer":"Zebra Technologies"
"connection":"driver",
"deviceType":"printer",
"version":4
},
{
...
}
]
}
Impresora predeterminada
Consulta la impresora predeterminada del dispositivo:
const printer = await T2bPrinter.default()
console.debug("defaultPrinter:", JSON.stringify(printer, null, 1))
Respuesta
{
"uid":"ZDesigner GK420t Plus (ZPL)",
"name":"ZDesigner GK420t Plus (ZPL)",
"manufacturer":"Zebra Technologies",
"connection":"driver",
"deviceType":"printer",
"version":4
}
Función de Impresión
Envía un trabajo de impresión a una impresora específica:
const result = await T2bPrinter.write(printer, `
^XA
^PW609
^LL403
^PON
^CI28
^FO38,30^GB545,349,5^FS
^FO85,60^A0N,33,33^FH^FDZPL PRINT TEST - 3"^FS
^FO170,100^A0N,33,33^FH^FD$ Dollar - € Euro^FS
^FO170,130^A0N,33,33^FH^FDL Lambda - ¥ Yen^FS
^FO150,180^A0N,33,33^FH^FDSpecial characters: ^FS
^FO150,210^A0N,33,33^FH^FDñ á é í ó ú characters^FS
^BY2,2,44^FO90,280^BCN,,Y,N
^FD123456789012^FS
^FO465,20^BQN,2,4
^FH\^FDLA,123456789012^FS
^PQ1,0,1,Y
^XZ
`);
console.debug("write", JSON.stringify(result, null, 1))
Respuesta
{
"result": true,
"message": "messages"
}
Tipos
type Printer = {
"uid": string;
"name": string;
"manufacturer": string;
"connection": "driver" | "bluetooth" | "network" | "ttb";
"deviceType": string;
"version": number;
};
Lista de Descripciones
uid: Identificador único del dispositivo. Puede ser el nombre de la impresora, dirección IP, dirección MAC de Bluetooth o el ID de plantilla para text2barcode.
name: Nombre asignado a la impresora.
manufacturer: Nombre del fabricante del dispositivo.
connection: Tipo de conexión utilizada por el dispositivo. Los posibles valores son:
- driver: Controlador específico.
- bluetooth: Conexión Bluetooth.
- network: Conexión de red.
- ttb: Conexión text2barcode.
Para diferentes sistemas operativos:
- Android e iOS: bluetooth, network, ttb.
- Windows y macOS: driver, network, ttb.
deviceType: Categoría o tipo del dispositivo.
version: Versión de la API en uso.
Para más información, consulta la sección en: https://labeldictate.com/text2barcode/docs/api.html
como puedo generar etiquetas a una impresora bluethoo inalambrica, desde una aplicacion web usando text2 barcode
Para imprimir desde dispositivos móviles mediante impresoras Bluetooth, te recomendamos descargar la aplicación «Text2 Barcode», disponible tanto para iOS como para Android. Una vez instalada, dirígete al apartado ‘Apps’, introduce la URL de tu aplicación web y presiona ‘Enter’. De esta manera, la WebView cargará automáticamente el sitio web.
Para entender cómo funciona, visita el siguiente enlace de la API de «Text2 Barcode»: https://labeldictate.com/text2barcode/test/. Al acceder desde un dispositivo Android o iOS, el sitio listará las impresoras Bluetooth disponibles. En la versión de escritorio, se mostrarán las impresoras instaladas a través de drivers.
Es esencial que el sitio web tenga integrado la API que permite la impresión automática. Si el sitio no implementa esta API, pero genera archivos de etiquetas en formatos como ZPL, podrás imprimirlos directamente desde el navegador una vez que se descarguen
Quedo a tu disposición para resolver cualquier duda adicional.
No puedo acceder a mi usuario me marca error cada que lo intento
Hola Miriam,
Para poder ayudarte de manera más eficaz, por favor envianos al correo contact@labeldictate.com la siguiente información:
Suscripción y la aplicación específica que estás utilizando.
Una captura de pantalla que muestre el error que estás enfrentando.
Con esta información, podremos dirigir nuestro soporte de manera más precisa y resolver el problema lo antes posible.
Quedamos a la espera de tu respuesta.