ZPL命令长度限制?

时间:2016-01-17 21:41:33

标签: zpl zpl-ii

我正在生成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:端口超时?

打印机打印标签,但不以任何方式响应发送命令的端口。如果我将标签分成单个命令字符串并按顺序发送它们而没有暂停,则打印机不会打印任何标签。是否可以查询打印机以了解何时发送下一个命令字符串?

通常情况下,我只是试验反复试验,但在这种情况下,这种方法既昂贵又浪费......

2 个答案:

答案 0 :(得分:0)

尝试

^PQ522

作为^ XZ之前的命令。

我建议你只发一次。发送522次(甚至485次)可能有点浪费。

答案 1 :(得分:0)

使用FN字段并在打印机上本地保存标签(使用^ DF),然后只需调用标签并在FN字段中填充动态数据