通过XMHTTPRequest将数据发送到打印机是否有限制



我将地址数据从网页发送到斑马标签打印机。基本上每个地址都在多个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/

相关内容

  • 没有找到相关文章

最新更新