我正在生成ZPL命令字符串,并且打印机(ZT410)不打印所有发送的标签。我简单地遍历以下代码并将字符串发送到打印机(通过端口9100上的IP地址)。每个循环都包含一组唯一的数据,其中row ['item_desc'],row ['our_part_number']和部件号每次迭代都会更改(所以我不只是试图打印522个相同的标签)。ZPL命令长度限制?
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:端口超时?
打印机将打印标签,但不会以任何方式回应发送该命令的端口。如果我将标签分成单独的命令字符串并按顺序发送而不会暂停,则打印机不打印任何标签。是否可以查询打印机以知道何时发送下一个命令字符串?
通常情况下,我只想实验试错,但在这种情况下,该方法是昂贵且浪费...
也许如果您单独发送每个标签打印机缓冲区超载?尝试添加一些时间,例如在100个标签后。尝试使用参数并在打印机中存储模板。 –