Ниже приведена функция, которую я вызываю для печати этикетки со штрих-кодом, названием и номером элемента каталога, но происходит следующее: при первом вызове через веб-приложение она печатает 1 этикетку (что хорошо), при втором вызове печатается 1 этикетка и несколько пустых этикеток и третий вызов печатает 1 этикетку и продолжает печатать пустые этикетки до тех пор, пока кнопка состояния на принтере zebra не начнет мигать красным (10-15 пустых этикеток).
Я уже откалибровал принтер, так что это не проблема, и просто для информации мой ноутбук и принтер соединены с помощью USB-кабеля.
Была ли у кого-нибудь такая же проблема?


const printBarcodeLabel = () => {
const catalogItem = catalogItems?.find(ci => ci.id === catalogItemId);
// Provjeri je li BrowserPrint dostupan
if (!(window as any).BrowserPrint) {
messageApi.error("Zebra Browser Print nije dostupan. Provjerite je li aplikacija instalirana i pokrenuta.");
console.error("BrowserPrint object not found on window");
return;
}
const zpl = `
^XA
^MMT
^PW406
^LL203
^FO20,10^BY2^BCN,60,N,N,N
^FD${catalogItem?.barCode}^FS
^FO20,80^A0N,18,18^FB366,1,0,C^FD${catalogItem?.barCode}^FS
^FO20,105^A0N,20,20^FB366,1,0,C^FD${catalogItem?.name || ''}^FS
^PQ1,0,1,Y
^XZ`.trim();
(window as any).BrowserPrint.getDefaultDevice(
'printer',
(device: any) => {
if (!device) {
messageApi.error("Nije pronađen default printer. Provjerite postavke u Zebra Browser Print aplikaciji.");
return;
}
device.send(zpl,
() => {},
(err: any) => {
console.error('Print error', err);
messageApi.error("Greška pri ispisu. Provjerite je li printer uključen i dostupan.");
}
);
},
(err: any) => {
console.error('Device error', err);
messageApi.error("Provjerite imate li upaljen Zebra Browser Print i postavljen default printer.");
}
);
};
Подробнее здесь: https://stackoverflow.com/questions/798 ... stead-of-1
Мобильная версия