Мне удалось распечатать исходные команды ZPL из PHP непосредственно на принтер , за исключением того, что я не могу печатать более 1 этикетки сразу после обновления windows windows -10 на принтере TLP 2844-Z и мой первый раз при установке Процессор WebClientPrint (W CPP) в windows -10 . Когда я пытался эмулировать принтер ZPL в приложении ZPL Printer , это также происходило. Единственное исключение было, когда я пробовал это в браузере Safari ma c, все нормально.
Рабочий сценарий запроса (все еще работает в Safari и ранее во всех других браузер):
for(var i=0; i<rows.length; i++){
javascript:jsWebClientPrint.print('useDefaultPrinter=' + $('#useDefaultPrinter').attr('checked') + '&printerName=' + $('#installedPrinterName').val() + '¶m=' + rows[i].value);
}
Что мешало мне, так это разрешение на запрос:
![wcp](https://i.stack.imgur.com/ZNu4Q.png)
в Chrome не были сгенерированы как сколько раз запрос был (что не является проблемой в Safari).
Пример, когда запрос был 2: ![request](https://i.stack.imgur.com/T1eBZ.png)
он только спрашивал для разрешения один раз, в результате (печатается только 1 этикетка):
![result](https://i.stack.imgur.com/aeTp2.png)
, когда это должно быть (напечатано 2 этикетки):
![expected](https://i.stack.imgur.com/jXMUC.png)
Мне удалось воспроизвести вышесказанное с помощью следующего сценария:
for (var i = 0; i < rows.length; i++) {
var url = ('useDefaultPrinter=' + $('#useDefaultPrinter').attr('checked') + '&printerName=' + $('#installedPrinterName').val() + '¶m=' + rows[i].value);
window.open('webclientprint:' + domain + url);
}
, которые не являются идеальными, поскольку многие вкладки будут создаваться только для печати, где ранее вам не нужны были новые вкладки, чтобы делать то же самое.
Есть идеи, как решить эту проблему? Чтобы было напечатано столько, сколько запрос попросил?