【问题标题】:ZPL - Barcode Missing a digit when printedZPL - 条形码打印时缺少数字
【发布时间】:2012-12-22 15:37:31
【问题描述】:

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

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

我希望条形码扫描为“9102100”。但是,当我扫描打印的条形码时,它显示为“910210”——截去最后一个数字。

如果我更改最后一位数字,它仍然会被切断。但是如果我在末尾添加更多数字,例如“9102100357”,条形码正确读取为“9102100357”。

为什么在这种特殊情况下我会“丢失”一个数字?

【问题讨论】:

    标签: label barcode zebra-printers zpl barcode-printing


    【解决方案1】:

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

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

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

    【讨论】:

    • 你拯救了我的一天。
    • 这是我听过的最愚蠢的功能之一。 Zebra 的 ZPL Designer spftware 似乎默认使用这个子集。
    【解决方案2】:

    参见ZPL Programming Guide 的第 92 页。

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

    示例:这是一个模式参数设置为 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。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      相关资源
      最近更新 更多