如何使用带校验位的ZPL创建GS1-128条形码 [英] How to create a GS1-128 barcode using ZPL with a check digit

查看:11
本文介绍了如何使用带校验位的ZPL创建GS1-128条形码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用ZPL生成GS1-128条形码。它需要包括一个校验位。我似乎没有得到校验位。

Here is my code:
^BCN,088,Y,Y,Y,D^FD(00)00123456000057763^FS

The first "Y"  is saying to print the human readable along with the 
barcode.  The third "Y" is supposed to tell it to include a check digit.  
I'm not seeing the check digit in the human readable, my scanner is not 
displaying a check digit, so I'm assuming it is also not in the barcode?  


Here is from the spec:
SSCC Barcode Structure (20 digits) 
Application Identifier = (00) 
Positions of SSCC barcode: 
 1 = Extension Digit (0-9 assigned by Vendor) 
 2 = 0 if mfg id # assigned by GS1 US; 
 1-9 if mfg id # assigned by another GS1 MO 
 3 thru 8 = 6-digit mfg id # 
 9 thru 17 = 9-digit serial id # -must be unique for one year
 18 = Modulo 10 check character

推荐答案

TLDR; ^BCN,088,Y,Y,,D ^FD(00)001234560000577630^FS

第三个Y包含校验位,但不是您想要的校验位(ZPL手册,第73页):

模块103校验位始终在那里。它不能打开或关闭。MOD 10和103与打开的[第三个Y]一起出现。

当您使用D时,它会自动添加一个校验位(ZPL手册,第80页):

打印机会自动 确定是否需要校验位,计算并打印它。

但更重要的是,它希望您发送18位数字:

数据字段中可以有圆括号和空格。"00"应用程序标识符,后跟 由17个字符组成,后跟伪校验位占位符。

它将去掉第18位数字,并将其替换为条形码和人类可读部分。

https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf

这篇关于如何使用带校验位的ZPL创建GS1-128条形码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆