我使用以下页面作为辅助:
http://www.tharo.com/documents/tech582.htm在该页上,EPC被分解成需要在ZPL中传递给打印机的位。基于此,我使用了以下ZPL并将其发送给打印机:
^XA
^RB96,8,3,3,20,24,38^FS
^RFW,E^FD48,3,5,0614141,100041,1^FS
^XZ
不幸的是,我没有得到与文档中概述的相同的EPC写入标签。
Update:我使用Zebra iOS SDK对标签进行编码。在他们的文档中,ZPL都在一行中。
对于这个问题,我会参考权威的标准。有关格式的详细信息,请参阅GS1 (p92和p132)的TDS标准,以及打印机的ZPL编程手册。
总结一下,您正在编码的数据是:
- 报头:SGTIN-96
8位,十进制48 - 过滤器:3
3位,十进制3 - 分区:24位公司/20位项目
3位,十进制5 - Company: 0614141
24位,十进制0614141 - Item: 100041
20位,十进制100041 - Serial: 1
38位,十进制1
所以ZPL应该是:
^XA
^RB96,8,3,3,24,20,38
^RFW,E^FD48,3,5,0614141,100041,1^FS
^XZ
注意,在^RB
和^RF
之间没有^FS
,并且分区5
强制24,20
。20,24
将是分区6
。^RB
是逗号分隔的字段宽度列表,^FD
是逗号分隔的十进制字段数据列表。我还会注意到过滤器3
是"保留的"。我认为你需要的过滤器是1
.