gecos-mobile-print-web
v0.1.8
Published
Parte web del módulo de Impresión Android de Gecos
Readme
Gecos Mobile Print Web
Descripción
Librería JavaScript parte del módulo de impresión de móvil de Gecos. Es la intermediaria entre las app web que la utilicen y el servicio nativo de la paltaforma que se comunica con la impresora. O sea, se puede tener una implementación de la API REST en cada plataforma en que se necesite, como Andorid, iOS o Desktop. Esta implementación de la API REST es la encargada de comunicarse con la impresora o de realizar las impresiones a archivo, si se desea. De modo que para esta librería web que será la utilizada por las aplicaciones, es transparente la plataforma en que se corra la app web.
Se puede ver la especificación de la API REST de comunicación aquí.
Instalación:
npm install gecos-mobile-print-web
Forma de instanciación:
// se debe indicar puerto en que está corriendo el servidor web que atenderá las peticiones
const lib = new PrinterManager({ port: X });Funcionalidades
Ping
Envía un ping para comprobar que el servicio está disponible
let serviceAvailable = false;
try {
serviceAvailable = await printLib.ping();
} catch (error) {
// no se pudo conectar al servicio por lo que serviceAvailable quedará en false
}Check
Permite realizar un chequeo de conexión a una determinada impresora para comprobar disponibilidad de la misma. NO chequea status, solo conexión.
const checkResult = await lib.check({
connectionMode: 'BLUETOOTH',
driver: 'ZEBRA',
language: 'CPCL',
printerBrand: 'ZEBRA',
printerModel: 'ZQ320',
printerBluetoothMAC: 'AA:BB:CC:DD:EE:FF',
});Permite realizar un trabajo de impresión. Consiste en la conexión a la impresora, el chequeo de status (salvo que se indique su salteo expresamente) y el envío de la impresión.
const printResult = await lib.print({
dataToPrint: 'raw printer code in language',
printerConfiguration: {
connectionMode: 'BLUETOOTH',
driver: 'ZEBRA',
language: 'CPCL',
printerBrand: 'ZEBRA',
printerModel: 'ZQ320',
printerBluetoothMAC: 'AA:BB:CC:DD:EE:FF',
},
jobConfiguration: {
checkStatusPreviousToPrint: true,
checkSuccessPrint: true,
}
});Logs
Realiza una consulta a los logs del backend del módulo. Los filtros y opciones a utilizar dependen de la plataforma.
El siguiente ejemplo es para la plataforma Andorid y obtiene logs con el tag SERVICE con level mínimo WARNING, considerando solamente los últimos 100 registros y los retorna en formato string plano.
const logsResult = await lib.logs({
filters: 'SERVICE:W',
options: '-t 100',
destination: 'return'
});