如何利用BarcodeLib NuGet包生成GS1-128条码?请提供示例
使用BarcodeLib生成GS1-128条码的实现示例
核心修改要点
- 将条码类型从
BarcodeLib.TYPE.CODE128替换为BarcodeLib.TYPE.GS1_128 - 确保输入的条码文本符合GS1-128规范:必须包含应用标识符(AI),格式支持带括号(如
(01)12345678901234)或直接拼接AI与数据(如0112345678901234),BarcodeLib会自动识别并生成合规的GS1-128条码。
修改后的完整代码示例
barCode.Alignment = BarcodeLib.AlignmentPositions.CENTER; BarcodeLib.TYPE type = BarcodeLib.TYPE.UNSPECIFIED; // 切换为GS1-128条码类型 type = BarcodeLib.TYPE.GS1_128; try { if (type != BarcodeLib.TYPE.UNSPECIFIED) { barCode.IncludeLabel = true; barCode.RotateFlipType = (RotateFlipType)Enum.Parse(typeof(RotateFlipType), "Rotate270FlipNone", true); // 注意:txtBarcode.Text需符合GS1规范,示例输入:"(01)12345678901234" 或 "0112345678901234" Barcode.Image = barCode.Encode(type, txtBarcode.Text, Color.Black, Color.White, nW, nH); } } catch (Exception ex) { // 处理编码异常(如输入不符合GS1规范、数据长度错误等) // 可根据业务需求添加日志或提示逻辑 }
关键注意事项
- **应用标识符(AI)**是GS1-128的核心,需根据业务场景选择正确的AI(比如
01代表GTIN商品编码,10代表批号,17代表有效期) - 如果输入文本不符合GS1规范(缺少AI、AI与对应数据长度不匹配等),BarcodeLib会抛出异常,建议保留异常捕获逻辑处理这类情况
- 开启
IncludeLabel = true后,条码下方会显示带括号的AI文本,方便人工识别校验
内容的提问来源于stack exchange,提问作者user3545432
相关产品推荐
相关产品推荐

