zebra-printers - 如何使用 ZPL 创建 GS1-128 条码
问题描述
请帮助解决以下情况:
使用 ZPL 脚本,我必须生成一个带有 GS1-128(以前称为 Code 128)的条形码。我有以下规格:
标记产品的理想方式是使用带有分隔符的复杂条码(参见 GS1 标准,在 GS1-128 条码模型上)。
以下信息包含在同一条码中:
2. SSCC (only for pallet label);
3. EAN code;
4. Quantity;
5. Expiration date;
6. Lot.
LABEL STRUCTURE EAN 128
(00) - 18 numeric characters
Example: 712300000000125672 - SSCC - Unique pallet code;
(01) / (02) - 14 numeric characters
Example: 02911225000004 - EAN article (includes control key);
(3100) - 6 numeric characters, weight in kilograms without decimals
Example: (3100)000700 represents 700 KG.
(3101) - 6 numeric characters, weight in kilograms with a decimal
Example: (3101)000700 represents 70.0 KG.
(3102) - 6 numeric characters, weight in kilograms to two decimal places
Example: (3102)000700 represents 7.00 KG.
(3103) – 6 numeric characters, weight in kilograms to three decimal
Example: (3103)000700 represents 0.700 KG.
(37) - numeric characters, variable length up to 8 characters - number of packages / pallet.
(17) - 6 numeric characters
Example: 210730 - Expiry date in AALLZZ format
(10) - alphanumeric characters, variable length up to 20 characters
Example: 3245AB / 60 - Lot.CODE.
为了让系统正确读取条码中的信息,可以通过两种方式创建:
第一种方法是将所有可变长度的字段放在条形码 (
(37)
和(10)
) 的末尾,而无需在标签中插入 GS128 分隔符。
示例:
托盘代码 (SSCC) 必须始终在托盘标签上单独创建。
SSCC 代码:它看起来如何扫描:
创建这些标签的第二种方法是在完成可变长度字段 (
(37)
(10)
) 后插入 GS128 分隔符(当它们位于条形码内时)。
托盘代码 (SSCC) 必须始终在托盘标签上单独创建。
带有 GS128 分隔符的托盘标签示例。它看起来像这样扫描:
代码的最后一部分:
看起来像扫描:
非常感谢。
解决方案
推荐阅读
- spring - ControllerLinkBuilder/UriComponentsBuilder 不处理标头转发属性
- java - 防止在脚本调用时执行恶意输入
- javascript - 在javascript中的字符串中的每个特殊字符之前添加一个字符
- nginx - 将 localhost:3000 更改为子域地址
- swift - Swift 5 track CLLocation 当前位置点
- amazon-web-services - 如何一键修复导致 Nessus 漏洞扫描的服务器的所有关键问题?
- html - 是否可以将变量从 HTML (index.html) 发送到 Reactjs?
- flutter - 为什么我的 Flutter 项目中没有构建文件
- sql - 执行包含日期变量的 openquery
- scala - 单元测试在 maven 中运行良好,但在与 IntelliJ 一起使用时无法运行