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

标签 label barcode zebra-printers zpl barcode-printing

我正在尝试使用以下ZPL与Zebra ZP 450打印机在标签上打印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子集和数据验证的更多信息。

关于label - ZPL-条形码打印时缺少数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14220832/

相关文章:

ios - 属性文本居中对齐

c# - 在图片框上添加标签

java - 禁用键盘输入并仅允许使用 Java 的条形码阅读器

ios - Zebra 打印机打印被裁切的图像

c# - 如何使 Zebra ZXP 系列 3 卡上打印的标签文本居中?

c# - 为什么 Zebra QLn220 打印机在向其发送更新某些设置的命令后会忽略发送给它的前几条命令?

html - 使用 css 垂直格式化输入和标签标签

ios - swift - 在 Controller 之间切换后更新计时器并更新标签

android - 用iphone/android扫描ean13

c - 在 Code 128 条码中编码扩展 ASCII 字符