我正在生成 ZPL 命令字符串,打印机 (ZT410) 不会打印所有发送的标签。我简单地遍历以下代码并将字符串发送到打印机(通过端口 9100 上的 IP 地址)。每个循环都包含一组唯一的数据,其中 row['item_desc']、row['our_part_number'] 和零件号在每次迭代时都会更改(因此我不只是尝试打印 522 个相同的标签)。
command += '^XA';
command += '^LT23';
command += '^FO125,30';
command += '^A0N,85,50';
command += '^FB950,1,,C'
command += '^FD'+row['item_desc']+'^FS';
command += '^FO20,260';
command += '^A0N,50,50';
command += '^FD'+part_number+'^FS';
command += '^FO122,260';
command += '^A0N,50,50';
command += '^FB950,1,,C'
command += '^FD'+row['our_part_number']+'^FS';
command += '^FO935,255';
command += '^A0N,25,25';
command += '^FB200,2,,R'
command += '^FDMy Company Name Phone_Number ^FS';
command += '^FO'+margin+',105';
command += '^BY3';
command += '^B3N,N,144,N,N';
command += '^FD'+row['our_part_number']+'^FS';
command += '^XZ';
我的测试批次是 522 个标签。在添加公司信息和条形码之前,打印机打印了所有 522 个标签,但使用上面的代码,它只打印 485 个标签。
极限在哪里?可以发送到端口的字符串长度是否有限制?我是否应该在每个标签后添加回车和换行(以便打印机知道在哪里断开字符串)?还是有 IP:port 超时?
打印机打印标签,但不会以任何方式响应发送命令的端口。如果我将标签分成单独的命令字符串并按顺序发送而不暂停,则打印机不会打印任何标签。是否可以查询打印机以知道何时发送下一个命令字符串?
通常,我只会尝试反复试验,但在这种情况下,这种方法既昂贵又浪费......