我使用zpl语言生成gs128条形码。这是我的zpl代码。
^XA^BY2,2.5145^FO100343^BC,,Y,N,N,D^FD(01(200588612>8(21(0000410549>8(10(ABC123^FS^XZ
这是通过上面的zpl代码生成的条形码。
在此处输入图像描述
我想你指的是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的要求(https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf#page=148&缩放=100,66138实际上,如果您打算使用GS1标准,那么整个文档非常有用。
Barcodefaq关于编码GS1-128条形码的文章(与斑马相似,我更喜欢斑马文章,因为它更清晰(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>6 bc123
可以分解为:
>; // 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条形码并验证它们是否正确编码。它不是官方应用程序,更像是一个粉丝应用程序,或自定义研究应用程序,但它可以给你快速的结果,它已经让我很长时间没有失败了