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

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

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

主要的挑战在于根据您的具体需求选择正确的格式。 您可能需要高数据密度的 Code 128 用于运输标签,需要 EAN-8 的紧凑尺寸用于小型产品,或者需要智能邮件条形码的严格格式用于邮政服务。 有了 IronBarcode,您可以放心地生成所有这些格式,因为您知道您的流程是高效可靠的。

在本指南中,我们将介绍如何使用 IronBarcode 生成最关键的一维格式及其日常使用案例。

开始使用 IronBarcode

今天在您的项目中使用 IronBarcode,免费试用。

第一步:
green arrow pointer


创建一维和线性条形码

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

不过,这种简洁性可以更快地扫描一维 BarCode。 它使这些工具与标准激光扫描仪普遍兼容,成为高速零售和物流环境的首选。

让我们来探讨一下最受支持的格式以及如何使用 IronBarcode 创建这些格式,并了解一下每种类型的常见值和使用场景。

代码-128

Code 128 BarCode 常用于内部物流和运输标签。 它支持全部 128 个字符的 ASCII 范围,能高效地将标准数字和英文文本压缩到很小的空间内。

然而,在没有额外扩展的情况下,它不允许使用 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

Code-128 输出示例

GSI-128

GS1-128 是在 Code 128 基础上应用的一种附加数据格式。GS1-128 的主要优点是可以在全球范围内对数据进行一致的解释,从而消除误解和数据歧义。

然而,由于其严格的格式,遗漏一个隐藏的控制字符或弄错一个字段的长度都会导致条形码不合规,从而难以手动创建。

GSI-128 格式

BarCode 扫描仪也使用 AI(应用程序标识符),这是一个数字前缀,用于识别产品代码中的信息。

GS1-128 采用四部分数据结构,如下所示:

(数字前缀 01)GTIN(全球贸易项目编号):结构的第一部分是全球贸易项目编号。 这是产品的唯一 ID,用于识别该产品是什么。 必须是准确的 14 位数字数据。 如果产品代码较短,您必须在数值前加零。 例如,如果您的产品代码是一个 12 位数字,如 123456789012,您必须在前面加上两个 0 才能满足要求(如 00123456789012)。

(数字前缀 10)批次/批量:数字前缀 10 在 GS1-128 代码中标识产品的批次或批量编号。 格式可以是 1 到 20 个字母数字字符。 如果将批号放在 BarCode 中间,请确保将 FNC1 作为分隔符,以便扫描仪知道批号在哪里结束,下一个字段在哪里开始。 如果批号位于 BarCode 的最末端,则不需要使用分隔符。

(数字前缀 17)有效期:在数字前缀 17 之后,是产品的到期日期。 格式固定为六位数。 严格遵循 YYMMDD 规则; 例如,251231 就是 2025 年 12 月 31 日。请注意,它不使用四位数年份,而是根据滑动窗口自动假定世纪。

(数字前缀 21)序列号:在数字前缀 21 之后,是产品的序列号。 它确定了独特的个人单元。 格式为可变长度,包含 1-20 个字母数字字符。

[{i:(请注意,产品代码中始终只需要锚点(如 GTIN); 对于条形码来说,批次、有效期和 nd 序列属性是可选的。@@--bracket-close--@@@

[{w:(虽然只要求提供 GTIN,但一些零售商可能会对条形码有自己的合规准则。 请确保在创建 BarCode 时检查其端的相关信息。 @@--bracket-close--@@@

GSI 格式表

AI 名称 数据类型 篇幅 固定还是可变?
01 GTIN(全球贸易项目编号) 数字 14 位数 Fixed
10 批次/批号 字母数字 1-20 个字符 变量
(如果不在末尾,则需要 FNC1 分隔符)
17 有效期 数字(日期) 6 位数字
(YYMMDD)
Fixed
21 序列号 字母数字 1-20 个字符 变量
(如果不在末尾,则需要 FNC1 分隔符)

代码

生成 GS1-128 BarCode 相对容易; 开发人员在调用 Create 时,只需将 BarcodeEncoding.Code128GS1 作为第二个参数传递即可。

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

[{i:(请注意,如下所示,每个数字前缀都必须使用括号,否则该特定部分将不会被识别为有效属性,并在生成最终条形码时被跳过。

[{i:(创建 GSI-128 时,IronBarcode 会自动为您插入 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

GS1-128 输出示例

故障排除

如果您的字符串值不符合 GS1-128 的标准,IronBarcode 将在运行代码时抛出异常。 请参照上表验证字符串值,并相应修改字符串值。

GS1-128 例外

码39

Code 39 是最早可用的字母数字条形码标准之一,以其可靠性著称。 Code 39 BarCode 最常见的使用案例是在汽车和国防领域。

然而,Code 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

Code39 输出示例

故障排除

Code39 异常

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

[{w:( 尽管 Code39 扩展模式支持全部 ASCII 字符范围,但 IronBarcode 目前不支持生成 Code39 扩展模式条形码; 目前仅支持阅读。 如需阅读扩展 Code39 和标准 Code39,请参阅此处@@--bracket-close--@@@。

代码 93.

Code 93 是 Code 39 的改进版,常用于空间有限但需要字母数字数据的物流和电子元件标签领域。

它接受全部 ASCII 字符以及大写英文字母、数字和符号。 与 Code 39 相比,它的密度更高。

代码

要生成 Code 93 条形码,请在使用 Create 时将 BarcodeEncoding.Code93 作为第二个参数传递。 以下是示例代码。

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

// Valid Input: Uppercase A-Z, 0-9, specific symbols
string code93Value = "ELEC-COMP-99";

// Create Code 93
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);

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

// Save as a JPG file
barcode.SaveAsJpeg("code93.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

Code93 输出示例

CodaBar

Codabar 通常用于打印质量较差的场合,因为它非常坚固耐用。因此,它被广泛应用于血库和图书馆等场景。

Codabar BarCode 格式长度可变,但支持的字符集有限。 只能包含数字(0-9)和符号,如 (-, $, :, /, ., +) 。 您还可以使用起止字符 A、B、C 和 D 来表示何时开始或何时结束。 但是,不能将这些字符放在中间部分; 只允许在开头或结尾处出现"......"。

代码

要生成 Codabar 条形码,请在使用 Create 时将 BarcodeEncoding.Codabar 作为第二个参数传递。 以下是示例代码。

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

// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
string codabarValue = "10500200";

// Create Codabar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);

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

// Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

Codabar 输出示例

故障排除

如果输入值包含字母,IronBarcode 就会出现异常,说明它只接受数值。

Codabar 异常

数据条

GS1 DataBar(前身为 RSS-14)是一个标准的、更紧凑的版本,用于保存产品标识号。

与 GS1-128 变体类似,它有严格的编码格式,开发人员必须遵守。 全方位变体仅包含****产品代码属性。

GS1-数据条格式

(数字前缀-01)GTIN(全球贸易项目编号):结构的第一部分,也是唯一的一部分是全球贸易项目编号。 这是产品的唯一 ID。 必须是准确的 14 位数字数据。

[{w:(标准的 "GS1 DataBar Omnidirectional "只能****保存 GTIN (01)。 要包含以下额外部分,您必须使用 GS1 DataBar Expanded.@@--bracket-close--@@@

代码

要生成 GS1 DataBar 条形码,请在使用 Create 时将 BarcodeEncoding.DataBar 作为第二个参数传递。 以下是示例代码。

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

// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit.
string databarValue = "0123456789012";

// Create GS1 DataBar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);

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

// Save as a JPG file
barcode.SaveAsJpeg("databar.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

GS1 数据库输出示例

EAN-13

EAN-13 是全球用于识别消费品的标准零售条形码,也是使用最广泛的条形码格式之一。

然而,EAN-13 通常是通过严格的授权获得的。 您不能简单地生成一个供公众使用的 EAN-13 编号; 您必须授权使用 GS1 公司前缀,以确保您的 BarCode 独一无二。 此外,译文只能包含 13 位数字,并且是数字型的。

此外,EAN-13 还有一套特定的格式规则。

EAN-13 格式化

EAN-13 条形码由四部分组成,如下图所示。

GS1前缀(前3位):标识GS1成员组织,通常是制造商注册的国家。 例如,000-019(美国/加拿大--与 UPC 兼容)、500-509(英国)、450-459(日本)。

制造商代码:由 GS1 分配给公司的长度可变的代码。

产品代码:由制造商分配给特定项目的代码。

校验数位(最后一位数):使用模 10 算法从前 12 位数计算出的一位数。 它能确保扫描仪正确读取 BarCode。

[{w:(以 2 开头的前缀(特别是 200-299)保留给限制发行的编号。 因此,在生产环境中,生成 EAN-13 条形码时不要使用这些前缀。

代码

要生成 EAN-13 条形码,请在使用 Create 时将 BarcodeEncoding.EAN13 作为第二个参数传递。 以下是示例代码。

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

// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
string ean13Value = "4006381333931";

// Create EAN-13
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);

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

// Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

EAN-13 输出示例

故障排除

只有在有其他字符的情况下,IronBarcode 才会对数值产生异常。

EAN-13 故障排除

EAN-8

EAN-8 是标准 EAN-13 零售条形码的浓缩版。 主要使用案例是小型消费品,因为全尺寸的 BarCode 会占用太多空间。 铅笔和化妆品等物品通常都能找到 EAN-8 条形码。

与 Code 128 或 Code 39 不同,EAN-8 通常有特定的前缀,而不是由开发人员任意指定一个数字。

因此,EAN-8 使用严格的 8 位数格式。 它有 7 个数据位和恰好一个校验位,并且只有数字。

代码

创建 EAN-8 代码只需在使用 Create 时将 BarcodeEncoding.EAN8 值传递给第二个参数即可。 下面是一个示例。

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

// Valid Input: 7 digits (library calculates 8th check digit).
string ean8Value = "1234567";

// Create EAN-8
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);

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

// Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

EAN-8 示例输出

故障排除

如果输入值包含 8 个或更多数字字符,IronBarcode 会出现异常,说明 EAN-8 长度要求为 8 个字符。

EAN-8 异常

智能邮件 (IMB).

智能邮件条形码 (IMB) 是美国邮政的邮件自动分拣和跟踪标准。 与条码宽度不同的传统条码不同,IMB 使用高度调节条来编码数据。 必须申请信件和单位的自动化价格折扣。 IMB BarCode 仅支持一组特定的数字长度; 数值必须是 20、25、29 或 31 位数字。

此外,它还采用了一组特定的数字前缀来定义信息,如下所示。

智能邮件格式化

(前 2 位)条形码 ID:结构的第一部分是条形码标识符。 这是严格意义上的两位数字数据。 对于大多数标准商业邮件,该值为 00。

(接下来的 3 位数字)服务类型 ID (STID):接下来的 3 位数字定义了邮件的类别(如一等邮件、营销邮件)和您请求的服务(如地址更正、跟踪)。 这对邮政折扣至关重要。

(接下来的 6 或 9 位数字)邮件 ID (MID): 在 STID 之后是 Mailer ID。 这是 USPS 直接分配给贵公司的 6 位或 9 位数字编号。

(接下来的 6 或 9 位数字)序列号:邮件 ID 之后是序列号。 这就确定了独特的单件邮件。

(最后 0、5、9 或 11 位数字)路由代码:结构的最后一部分是路由代码,即简单的送货邮政编码。

代码

要生成 IMB 条形码,我们在调用 Create 方法时,将 BarcodeEncoding.IntelligentMail 作为第二个参数传递。 下面是一个实例展示。

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

// Valid Input: 20, 25, 29, or 31 digits. 
// Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)
string imbValue = "00270123456200800001";

// Create Intelligent Mail
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);

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

// Save as a JPG file
barcode.SaveAsJpeg("imb.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

智能邮件输出示例

故障排除

如果不遵守格式,IronBarcode 会抛出异常,说明格式不正确。 请根据上述格式验证字符串值,并在修改后重试。

智能邮件异常

Modified Plessey (MSI)

MSI 是一种常用于零售货架标签和仓库库存控制的条形码,但很少出现在消费品上。

MSI 是一种纯数字条形码; 因此,不允许使用字母或符号。 篇幅长短不一,但标准为 10-15 位数左右。

代码

要生成 MSI 条形码,我们在调用 Create 方法时将 BarcodeEncoding.MSI 作为第二个参数传递。 下面是一个实例展示。

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

// Valid Input: Numeric digits only. Variable length.
string msiValue = "1234567890";

// Create MSI
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);

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

// Save as a JPG file
barcode.SaveAsJpeg("msi.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

MSI 输出示例

UPC-A

UPC-A 是美国和加拿大使用的标准零售条形码。 它是 EAN-13 标准的 12 位数子集。 它们最常见于北美超市销售的产品上。

与 EAN-13 类似,它通常是分配而不是生成的。

UPC-A 包含 12 位数字,不接受任何字母。

UPC-A 格式

数字系统字符 (1):标识产品类型(0、1、6、7、8 通常用于标准零售; 2 表示随机重量,3 表示药物,5 表示优惠券)。

制造商代码 (5):由 GS1 指定。

产品代码 (5):由制造商指定。

校验位 (1):计算模 10 校验和。

代码

要生成 UPC-A 条形码,我们在调用 Create 方法时将 BarcodeEncoding.UPCA 作为第二个参数传递。 下面是一个实例展示。

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

// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits.
string upcaValue = "01234567890";

// Create UPC-A
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);

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

// Save as a JPG 
barcode.SaveAsJpeg("upca.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

UPC-A 输出示例

故障排除

如您所见,如果提供的数值长度超过 13,IronBarcode 就会出错。

UPC-A Exception class=

UPC-E

UPC-E 是标准 UPC-A 条形码的精简版。 它明确针对小型零售包装(如汽水罐)而设计,因为在这种包装上,完整的 12 位 UPC-A 条形码太大,无法扫描。

与 UPC-A 格式一样,它也是严格的数字格式,不接受字母和符号。

代码

要生成 UPC-E 条形码,我们在调用 Create 方法时将 BarcodeEncoding.UPCE 作为第二个参数传递。 下面是一个实例展示。

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

// Valid Input:8 digits or less, which the last digit is a check digit calculated from the first 7 digits. 
// IronBarcode automatically calculates the check digit if only 7 digits are provided.
string upceValue = "0123456";

// Create UPC-E
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);

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

// Save as a JPG file
barcode.SaveAsJpeg("upce.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出

UPC-E 输出示例

故障排除

如您所见,如果提供的数字位数超过 8,IronBarcode 就会出错。

UPC-E 故障排除

不同一维条形码类型概述

名称 翻译格式 常见用法 限制与陷阱
Code 128 字母数字
支持完整的 ASCII 128。长度可变。高密度。
内部物流、运输标签、资产跟踪、身份证。
  • 无 Unicode: 无法在不破坏扫描仪兼容性的情况下对特殊字符(如中文或表情符号)进行本地编码。
  • 打印机质量:要求高分辨率;低 DPI 热敏打印可能导致可读性问题。
GS1-128 结构化字母数字
代码 128,带前导 FNC1 + 应用程序标识符(例如,(01))。
全球供应链(沃尔玛/亚马逊)、托盘标签、EDI。
  • 缺少 FNC1: 必须以不可见的 FNC1 字符开头,否则扫描仪会将其读作原始文本。
  • 括号:请勿对人工智能周围的()进行编码;这些括号仅供人类阅读。
Code 39 字母数字(受限)
大写 A-Z、0-9 和 -.$ / + % 空格
汽车 (AIAG)、国防 (LOGMARS)、传统工业 ID。
  • 无小写:如果输入 "a",标准模式将失效。扩展模式支持小写,但需要特定的扫描仪配置。
  • 低密度:生成的条形码非常宽,不适合小标签。
Code 93 字母数字
与 Code 39 类似,但密度更高。
电子产品(PCB)、加拿大邮政和内部制造。
  • 校验数位:需要两个强制校验数位(C 和 K)。请勿手动计算这两个数字,而应由库来计算。
  • 扫描仪支持:通常在扫描仪上默认禁用,以防止与 Code 39 发生冲突。
Codabar 数字 + 符号
0-9 和 - $ : /.+。开始/停止:A、B、C、D。
血库、图书馆、联邦快递空运单(传统)。
  • 短读:扫描仪读取部分代码时容易出错(例如,从 "12345 "读取 "123")。
  • 不能使用字母:不能对数据字母进行编码,只能使用 A-D 作为分隔符。
GS1 数据条 数字(14 位)
仅编码 GTIN-14。极其紧凑。
松散的农产品(水果贴纸)、小型化妆品和保健品瓶。
  • 无属性:标准全向版本不能保存过期或批量数据(需要扩展版本)。
  • 严格输入:必须正好是 14 位数字。
EAN-13 数字 (13 Digits)
Country + Mfg + Product + Check Digit.
全球零售销售点(超市)。
  • 许可:需要付费的 GS1 公司前缀。
  • 限制性前缀: 200-299 前缀仅供店内使用,在全球供应链中无法使用。
EAN-8 数字(8 位数)
7 个数据 + 1 个校验数位。
微小的零售包装(口香糖、铅笔)。
  • 可用性:难以获得;GS1 仅在您的产品太小而无法使用 EAN-13 时才会签发。
  • 输入长度:必须正好为 7 或 8 位数字。
智能邮件 数字(20、25、29、31 位)
高度调制(4 态)条形图。
USPS 邮件分拣与自动化。
  • 严格长度:输入必须与 USPS 字段(Barcode ID、STID、MID、Serial、Zip)完全匹配。
  • STID "234":请勿在生产中使用此示例 ID;它可能导致邮件拒收或折扣丢失。
MSI(Plessey) 仅限数字
变量长度。
零售货架标签、仓库垃圾箱。
  • 校验和混乱:支持 Mod 10、Mod 11、Mod 1010 等。您必须清楚地知道扫描仪所期望的是哪一种。
  • 可靠性:与现代代码相比,读取率较低。
UPC-A 数字(12 位)
11 个数据 + 1 个校验数位。
北美零售销售点。
  • 地区:主要是美国/加拿大。全球卖家应使用 EAN-13。
  • 前导零:从技术上讲,EAN-13 以 0 开头。
UPC-E 数字(6 位)
压缩格式。
美国/加拿大的小型零售包装(苏打水罐)。
  • 压缩规则:您不能 "转换 "任何 UPC-A。您的数字必须具有特定的零模式才能进行压缩。
  • 数字系统:仅支持数字系统 0 或 1。

常见问题解答

什么是一维条形码?

一维条形码又称线性条形码,是一系列宽度不等的平行线和空格,用于编码信息。它们通常用于零售和物流。

如何使用 C# 生成一维 BarCode?

您可以使用 IronBarcode 在 C# 中生成一维条形码,它提供了一个简单的 API,可为您的应用程序创建各种类型的一维条形码。

使用 IronBarcode 可以创建哪些类型的一维条码?

使用 IronBarcode,您可以创建多种类型的一维条形码,包括 Code 39、Code 128、EAN、UPC 等。

是否可以在 IronBarcode 中自定义一维条码的外观?

是的,IronBarcode 允许您自定义一维条码的外观,包括其颜色、大小和文本字体。

IronBarcode 可以在一维条码中编码附加信息吗?

是的,IronBarcode 可根据条码类型将产品详细信息或序列号等附加信息编码到一维条码中。

使用一维 BarCode 有哪些优势?

一维条形码操作简单,成本效益高,非常适合零售、库存管理和物流领域的应用。它们可以快速、准确地输入数据。

我可以用 IronBarcode 阅读一维条码吗?

是的,IronBarcode 可用于从图像或扫描文件中读取和解码一维条码。

如何将 IronBarcode 集成到我的 C# 项目中?

要将 IronBarcode 集成到您的 C# 项目中,您可以通过 NuGet 软件包管理器轻松安装,并在项目文件中引用它。

IronBarcode 是否适合商业用途?

是的,IronBarcode 专为商业用途而设计,为创建企业级应用程序的开发人员提供强大的功能和支持。

有哪些资源可用于学习如何使用 IronBarcode?

IronBarcode 在其网站上提供了大量的文档、教程和代码示例,以帮助开发人员学习如何有效地使用该库。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,979,979 | Version: 2025.11 刚刚发布