【问题标题】:ZPL - How to embed GS1 application identifiers into GS1 QR codeZPL - 如何将 GS1 应用程序标识符嵌入到 GS1 二维码中
【发布时间】:2026-02-02 17:20:05
【问题描述】:

我正在尝试在 ZPL 中编写一个符合 GS1 的 QR 码,其中将包含许多应用程序标识符。在使用 ^BQ 创建二维代码时,我不明白如何在 ^FD 字符串中嵌入 FNC1 字符。 下面是我的第一次尝试。在创建 GS1-128 条码时,我会使用 >8 字符来表示可变长度字段。

^FX Test^FS                                                                                                                              
^XA^MCY^XZ
^XA^LH0,65
^LH0,0^FS
^BQN,2,10^FD>;>83018099999>82411184174>810MFATA00001>891EA^FS
^PQ1,0,0,N
^XZ

这会创建一个二维条码,在扫描时会返回以下字符串,但不会被识别为符合 GS1 标准。 11611193018099999>82411184174>810MFATA00001>891EA

如何配置 ^FD 字段以启用 FNC1 字符?

【问题讨论】:

    标签: qr-code zpl


    【解决方案1】:

    QR ZPL 问题

    在此处查看我最近对 ​​QR 码的回答: Print ZPLII QR to open url

    您缺少^BQ^FD 命令的一些参数。

    GS1 二维码问题

    我所做的研究表明 GS1 QR 码是相当专有的,似乎不容易使用 ZPL 生成。但是,您可以很容易地使用 Data Matrix 条码。

    看起来您正在尝试使用以下应用程序标识符和值创建代码:

    30: Variable Count of Items: 18099999
    241: Variable Customer Part Number: 1184174
    10: Variable Batch/Lot Number: MFATA00001
    91: Variable Company Internal: EA
    

    GTIN 01 似乎是必需的,但丢失了。我添加了一个临时 GTIN 字符串。客户部件号 241 似乎仅限于本地,并且可能无法在某些验证全局要求的应用程序中验证。

    完整的条形码字符串。

    ^FD_10112345678901234_110MFATA00001_13018099999_12411184174_191EA^FS
    

    样本标签的完整 ZPL

    ^XA
    ^FO10,10
    ^BXN,9,200,40,40,,_
    ^FD_10112345678901234_110MFATA00001_13018099999_12411184174_191EA^FS
    ^XZ
    

    希望对您有所帮助。

    https://www.gs1.org/docs/barcodes/GSCN_16_477_FNC1.pdf 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

    【讨论】:

    • 文本字符串中有几个 GS1 AI。它们是 (30)、(241)、(10) 和 (91)。我需要将这些解释为 GS1 AI。由于其中几个 AI 是可变长度的,>8 表示数据结束,然后这些 AI 可以通过扫描软件进行解释。我相信 '>8' 是一个被解释为 FNC1 的控制字符。
    • >8 确实代表 Code 128 条码 ^BC 的 FNC1 字符,请参阅我的答案 here 以供参考。所以这同样适用于其他代码类型,如 QR
    • 我更新了答案。不同的代码将使用不同的 FNC1 标识符。看起来 GS1 QR 是相当专有的,用 ZPL 不容易完成(过去几天我尝试了几个小时)。如果不需要 QR,请尝试使用 Data Matrix 码。
    • @EdHayes3 - 我非常感谢在我的问题上花费的跟进和时间。抱歉回复晚了,我已经放假了。我真的需要二维码。
    • 为什么需要二维码?
    【解决方案2】:

    EdHayes3 的回答非常棒。

    正如 Zebra 在 ^BX 中指定的,转义字符是下划线,随后的数字定义了使用哪种 FNC。

        _1 - > FNC1
        _2 - > FNC2
        _3 - > FNC3
    

    根据我对 Zebra 文档的理解,不支持 FNC4。

    我唯一不完全同意的是逃避每个 GS1 AI,因为除了批号/批号之外最常见的 AI 具有固定长度。 换句话说,我认为没有必要逃避例如 GTIN。不过,您可能必须记住在 GTIN-12 或 GTIN-13 的情况下用前导零填充它。

    【讨论】:

      最近更新 更多