我使用zpl语言生成gs128条形码。这是我的zpl代码。
^XA ^Y2,2.5,145^FO100,343^BC,Y,N,N,D^FD(01)200588612>8(21)0000410549>8(10)ABC123^FS ^XZ
下面是通过上述zpl代码生成的条形码。
发布于 2020-07-22 09:15:08
我猜你是说GS1-128条形码。如果您想使用GS1标准对数据进行编码,那么就不能仅仅以原始格式传递数据。你需要按照标准对它们进行编码。
如果使用GS1-128代码,则需要使用特殊的开始字符FNC1。它用于初始化GS1字符串并对可变长度字符串的结束发出信号。这是一个很有趣(也很广泛)的话题。以下是一些有用的链接:
关于编码GS1-128和GS1-DataMatrix代码的斑马文章:https://www.zebra.com/us/en/support-downloads/knowledge-articles/creating-gs1-barcodes-with-zebra-printers-for-data-matrix-and-code-128-using-zpl.html
ZPL手册,128-代码https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf#G20.1037065
GS1通用规范(应用程序标识符中FNC1的要求)实际上,如果您打算使用GS1标准,整个文档是有用的。
Barcodefaq关于编码GS1-128条形码的文章(simmilar比Zebra 1,我更喜欢Zebra文章,因为它更清晰) https://www.barcodefaq.com/1d/gs1-128/。
回到你的密码。
在128段代码中使用此参数:
^BC,,Y,N,N,D我将省略最后一个参数(D),因为它将您限制为18个字符,即您必须输入18个字符。我不知道它是如何与代码中的多个应用程序标识符一起工作的。我建议让它使用默认值。
代码的另一个问题是,您正在使用GTIN。根据规范,GTIN必须以14位数的版本通过.(如GS1通用规范)。这很容易通过以零作为前缀来实现。
因此,在这些编辑之后,代码如下所示:
^XA
^BY2,2.5,145^FO100,33^BCN,,Y,N,N
^FD>;>80100000200588612210000410549>810>6ABC123^FS
^XZ其中:
;>80100000200588612210000410549>810>6ABC123
可分解为:
>; // Start code C
>8 // FNC1
01 // AI (Application identificator) for GTIN
00000200588612 // GTIN-14
21 // AI for Serial Number
0000410549 // Serial Number
>8 // FNC1 because Serial Number have variable length
10 // AI for Batch
>6 // switch to B-code for alpha-numerics
ABC123 // Batch希望这能帮到你。我真的建议你看看上面的那些文章。
另一个有用的工具:http://labelary.com/viewer.html,您可以看到您的代码如何实时转换为标签。(有一些限制.某些代码类型尚未实现。)
*编辑另一个有用的应用程序是barValid -安卓智能手机应用程序,它可以读取GS1条形码并验证它们是否正确编码。它不是官方的应用程序,更像是一个粉丝应用,或者是定制的研究应用,但是它可以给你快速的结果,而且我在使用它很长一段时间都没有让我失望。
https://stackoverflow.com/questions/63028630
复制相似问题