如何创建一维和线性条形码

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode 使您能够使用简单的 C# 代码生成所有主要的一维条形码格式,包括 Code 128、GS1-128、Code 39、Code 93、EAN-13、EAN-8、UPC-A、UPC-E、Intelligent Mail、MSI、Codabar 和 DataBar,并具有自动验证和合规性检查功能。 您可以浏览支持的条形码格式的完整列表,找到适合您需要的条形码格式。

线性条形码仍然是传递信息的行业标准。 它们快速、可靠,几乎可与任何扫描仪配合使用。 由于这些 BarCode 不需要复杂的图像处理,因此在零售收银台和传送带等高速环境中表现出色。

主要的挑战在于根据您的具体需求选择正确的格式。 您可能需要 Code128 的高数据密度用于运输标签,EAN8 的紧凑尺寸用于小型产品,或 IntelligentMail BarCode 的严格格式用于邮政服务。 IronBarcode 可帮助您高效、可靠地生成所有这些格式。 该库还支持各种输出数据格式,以便与您的现有系统无缝集成。

本指南涵盖如何使用 IronBarcode 生成最重要的一维格式及其常见用例。

<! -- 待办事项:在此处添加图片 --> <! --介绍的视觉演示 --> <!--描述:截图或图表 -->


as-heading:2(快速入门:创建您的第一个一维条形码)

使用 IronBarcode 的简单 API,从字符串创建 Code128 条形码并将其保存为 JPEG 图像。 立即开始--提供数据、选择编码和大小,然后编写图像文件。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronBarcode

    PM > Install-Package BarCode

  2. 复制并运行这段代码。

    IronBarCode.BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128, 250, 100).SaveAsJpeg("MyFirstBarcode.jpg");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronBarcode,免费试用!
    arrow pointer

<! -- 待办事项:在此处添加图片 --> <! -- 输出显示在 IronPdf 中创建 1d 和线性条形码的结果 --> --> <!--说明:显示代码执行输出或结果的截图 -->

如何创建一维和线性条形码?

线性一维条形码使用可变宽度的线和空格来水平存储数据。 二维条形码(如 QR 码)使用方格网格来保存二维信息。 二维条码可容纳更多数据,如 URL 或联系卡,而一维条码则仅限于简短的字母数字字符串。

这种简洁性可以让一维 BarCode 扫描得更快。 它使这些工具与标准激光扫描仪普遍兼容,是高速零售和物流环境的理想选择。 在处理大容量扫描应用程序时,请探索我们的阅读速度选项,以优化性能。

让我们来探讨一下最受支持的格式以及如何使用 IronBarcode 创建这些格式。

如何创建 Code-128 BarCode?

Code 128 BarCode 常用于内部物流和运输标签。 它支持全部 128 个字符的 ASCII 范围,能高效地将标准数字和英文文本压缩到较小的空间内。 这使得 Code 128 成为仓库管理系统和库存跟踪的理想选择,因为在这些系统中,空间有限,但数据密度至关重要。

然而,在没有额外扩展的情况下,它无法原生支持 Unicode 或非拉丁字符。 它无法处理中文或阿拉伯语等语言的复杂字符,会误解数据,导致错误输出。 对于需要 Unicode 支持的应用程序,请参阅我们的编写 Unicode 条形码指南。

我需要哪些代码?

IronBarcode 可直接生成 Code-128:在调用 Create 方法时,将 BarcodeEncoding.Code128 作为第二个参数传递,然后导出为图像。 了解有关 使用各种格式和选项创建条形码图像的更多信息。

:path=/static-assets/barcode/content-code-examples/how-to/create-code-128-barcode.cs
using IronBarCode;

// Specify Code 128 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);

// Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg");
Imports IronBarCode

' Specify Code 128 Format
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128)

' Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode()

' Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg")
$vbLabelText   $csharpLabel

输出结果是什么样的?

Code-128 示例输出

如何创建 GSI-128 条形码?

GS1-128 是在 Code 128 基础上应用的一种附加数据格式。GS1-128 的主要优点是全球数据解释一致,消除了误解和歧义。 这种标准化对于产品在不同公司和国家之间流动的供应链管理至关重要。

但是,由于格式要求严格,缺少隐藏控制字符或字段长度不正确都会导致条形码不合规。 如果您在 GS1-128 格式化方面遇到问题,我们的GS1-128故障排除指南可帮助您解决常见问题。

GSI-128 要求什么格式?

BarCode 扫描仪使用应用程序标识符 (AI)--数字前缀来识别产品代码中的信息。 了解这些标识符对于创建适用于全球供应链的合规条形码至关重要。

GS1-128 遵循由四个部分组成的数据结构:

(数字前缀 01)GTIN(全球贸易项目编号):唯一的产品 ID,用于识别产品。 必须是准确的 14 位数字。 如果您的产品代码较短,请填充前导零。 例如,123456789012 变成了 00123456789012。

(数字前缀 10)批次/批量:产品的批次或批号。 1 至 20 个字母数字字符。 当放置在条形码中间时,需要使用 FNC1 分隔符,以便扫描仪知道其结束位置。 如果在 BarCode 末端,则无需分隔符。

(数字前缀 17)有效期:产品的有效期。 按照 YYMMDD 格式固定为六位数。 例如,251231 是 2025 年 12 月 31 日。使用两位数年份,世纪采用滑动窗口。

(数字前缀 21)序列号:标识唯一独立单元的产品序列号。 长度可变,包含 1-20 个字母数字字符。

请注意仅要求提供 GTIN; 批次、有效期和序列属性为可选项。

警告虽然只要求提供 GTIN,但一些零售商有特定的合规准则。 在创建 BarCode 时查看它们的要求。

如何使用 IronBarcode 生成 GSI-128?

生成 GS1-128 BarCode 非常简单; 在调用 Create 时,将 BarcodeEncoding.Code128GS1 作为第二个参数传递。

下面的示例显示了一个符合 GS1-128 标准的完整值,包含所有四个属性,并将其导出为图像。

请注意每个数字前缀都必须加上括号,否则该部分不会被识别为有效属性。

[{i:(IronBarcode在创建GSI-128时自动插入FNC1分隔符。

:path=/static-assets/barcode/content-code-examples/how-to/create-gsi-128-barcode.cs
using IronBarCode;

// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
string gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";

// Create the barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);

// Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg");
Imports IronBarCode

' Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
Dim gs1Value As String = "(01)01234567890128(17)251231(10)BATCH001(21)111111"

' Create the barcode
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1)

' Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg")
$vbLabelText   $csharpLabel

GSI-128 输出是什么样的?

GS1-128 示例输出

如何修复 GSI-128 格式错误?

如果您的字符串不符合 GS1-128 标准,IronBarcode 会抛出异常。 使用上表验证字符串值,并进行相应修改。

GS1-128 例外

如何创建 Code 39 BarCode?

Code 39 是最早的字母数字条形码标准之一,以可靠性著称。 常见于汽车和国防领域。 它能够对字母和数字进行编码,而不需要校验数位,因此对于通过其他方式验证数据完整性的环境来说非常简单。

然而,Code 39 的字符集有限。 它只允许大写英文字符、数字和符号,如/、.、-等。标准模式不支持小写。 有关阅读标准和扩展 Code 39 条形码的信息,请参阅我们的 Code 39 阅读指南

代码 39 需要哪些代码?

要生成 Code39,请在使用 Create 时将 BarcodeEncoding.Code39 作为第二个参数传递。

下面是一个例子:

:path=/static-assets/barcode/content-code-examples/how-to/create-code-39-barcode.cs
using IronBarCode;

// Specify Code39 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code39.jpg");
Imports IronBarCode

' Specify Code39 Format
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39)

' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()

' Save as a JPG file
barcode.SaveAsJpeg("code39.jpg")
$vbLabelText   $csharpLabel

代码 39 输出是什么样的?

Code39 示例输出

为什么会出现代码 39 错误?

Code39 异常

如果字符串不符合 Code39 标准,IronBarcode 会抛出此异常。

[{w:(IronBarcode 目前不支持生成扩展 Code39 条形码; 仅支持阅读。 关于阅读扩展和标准 Code39,请参阅我们的 Code 39 阅读教程