ZPL -条形码打印时缺少一个数字



我正在尝试使用Zebra ZP 450打印机使用以下ZPL片在标签上打印Code 128条形码:

^BY3^BCN,112,N^FO090,660^FD>;>89102100^FS

我希望条形码扫描为"9102100"。然而,当我扫描打印的条形码时,它的读数是"910210"——去掉最后一个数字。

如果我改变最后一位数字,它仍然被切断。但是如果我在末尾加上更多的数字,例如:"9102100357",条形码正确读作"9102100357"。

为什么在这种特殊情况下我"丢失"了一个数字?

^FD块中的>;告诉代码128条形码进入一个子集(本例中为子集C),该子集强制条形码中的数据为数字对(00 - 99)。任何没有以数字对形式提供的数据都将被忽略。如果你在这里放一个字母,它会忽略这对。在你的例子中,9102100有奇数个数字,所以它忽略了最后一个。例如,如果您添加另一个0,它将把所有字母放在条形码中。

将条形码放入子集C的;>不是默认值。子集B或:>是默认的,它将允许在条形码中编码任何字符。因此,您可以将;>替换为:>,或者只是完全删除;>,它将正确打印出来。

查看ZPL编程手册中的^BC文档,了解有关Code 128子集和数据验证的更多信息

参见ZPL编程指南第92页。

此问题可能已在固件更新中修复,见下文:

示例:这是一个mode参数设置为D*:

的示例
^XA
^PON
^LH0,0
^BY2,2.5,145
^FO218,343
^BCB,,Y,N,N,D
^FD(91)0005886>8(10)0000410549>8(99)05^FS
^XZ

D* -当尝试打印带有奇数字符的最后一个应用程序标识符时,出现问题使用d模式打印EAN128条形码时存在的问题,该问题已在固件版本中修复V60.13.0.6。"

相关内容

  • 没有找到相关文章

最新更新