我正试图将EAN条形码垂直打印在带有以下ZPL代码的标签上:
^FO895,273^BY3^BUB,200,Y,N
^FO895,261^FD9827755779090^FS
我期望输出为9827755779090.但是,它打印为277557790900。
它切断前2位数(98),并在最后一位上加(0)位。我能知道如何修正我的代码吗?
发布于 2022-05-16 12:30:47
^BE
是EAN命令。它会为你计算支票数字。
EAN-13条形码描述:^BE命令类似于UPC-一个条形码。它广泛应用于欧洲和日本的零售市场。EAN-13条形码有12个数据字符,比UPC-A代码多一个数据字符.EAN-13符号包含与UPC相同的条数,但将一个13位数字编码为左侧六位数的奇偶模式。这个13位数,加上第12位,代表了一个国家代码。·^BE支持固定的打印比率。·字段数据(^FD)仅限于12个字符。ZPL II自动用零截断左边的pads,以达到所需的字符数。
以下是固定代码(更改后的^FO)。
^XA
^FO95,273^BY3^BEB,200,Y,N
^FD9827755779090^FS
^XZ
发布于 2022-05-16 03:02:48
您输入的条形码比规范设置的数据更多。
另外,您不是在创建EAN代码,而是创建一个UPC(12)。
规格说明:
UPC (技术上指UPC-A)由12位数字组成
ZPL II规范 on UPC-A (代码^BU
)第5.34节明确规定:
^FD
:正好有11个字符。ZPL II用0自动截断或填充左边的字符以达到所需的字符数.
(我加了斜体字)
所以你得到了
^FO895,261^FD9827755779090^FS
----------- << these 11 digits
恰好,27755779090
的UPC校验和是0
。
这就是为什么^FO895,261^FD999999988889827755779090^FS
会得到相同的结果。
要想得到你想要的,请使用
^FO895,261^FD98277557790^FS
。。这将得到4
的校验和
https://stackoverflow.com/questions/72257475
复制相似问题