我将地址数据从网页发送到斑马标签打印机。基本上每个地址都在多个HTML输入字段中。单击"打印"按钮时,例程使用for Loop通过其ID拾取每个输入字段的数据,并使用ZPL命令将其发送到打印机。如果我发送24个标签,那很好,上面只能打印出24个标签。我想知道是否有数据或时间限制?
添加了警报,而不是将数据发送到打印机并弹出正确的警报,因此我知道代码没有错
$('#filterlabel').click(function() {
var ttllabels = $('#ttllabels').html();
if (confirm("Print " + ttllabels + " address labels?") == true) {
var i;
for (i = 0; i < ttllabels; i++) {
var accdelno = $("#accdelno-" + i).val();
var custname = $("#custname-" + i).val();
var address1 = $("#address1-" + i).val();
var postcode = $("#postcode-" + i).val();
var y = 24;
var qty = 1;
var zpl = "^XA";
/* if (contact.length > 0) {zpl = zpl + "^FS^FO20,"+y+"^A0N,36,36^FDATTN: " + contact;y = y + 40;} */
if (custname.length > 0) {
zpl = zpl + "^FS^FO20," + y + "^A0N,36,36^FD" + custname;
y = y + 40;
}
if (address1.length > 0) {
zpl = zpl + "^FS^FO20," + y + "^A0N,36,36^FD" + address1;
y = y + 40;
}
if (postcode.length > 0) {
zpl = zpl + "^FS^FO20," + y + "^A0N,36,36^FD" + postcode;
y = y + 40;
}
zpl = zpl + "^PQ" + qty + "^XZ";
var zebraPrinterUrl = "http://192.168.88.202/pstprnt";
var request = new XMLHttpRequest();
request.open("POST", zebraPrinterUrl, true);
request.setRequestHeader("Content-Length", zpl.length);
request.send(zpl);
}
} else {
return false;
}
});
每次仅产生24个标签
如果我发送10,我得到10
如果我发送36,我得到24
如果我发送25,我得到24
可能与您发送ZPL的方式有关。
尝试使用其他方法。我找到了一些选择。看看这些:
JavaScript:将原始文本发送到打印机 - 没有服务器请求/方法调用,能够脱机工作,纯粹的客户端
https://www.neodynamic.com/articles/how-to-print-raw-zebra-zpl-commands-from-javascript/