IronBarcode 操作指南 创建一维 BarCode 如何创建一维和线性条形码 Curtis Chau 已更新:一月 10, 2026 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 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 生成最重要的一维格式及其常见用例。 <! -- 待办事项:在此处添加图片 --> <! -- --> <!--描述:截图或图表 --> 开始使用 IronBarcode 今天在您的项目中使用 IronBarcode,免费试用。 第一步: 免费开始 如何使用 IronBarcode 创建一维和线性条码# 下载 IronBarcode C# 库以创建条形码。 使用CreateBarcode生成带有字符串值的条形码 使用 BarcodeEncoding 指定条形码类型 使用 SaveAsJpeg 将条形码保存为图像或其他格式 as-heading:2(快速入门:创建您的第一个一维条形码) 1.通过 NuGet 软件包管理器安装 IronBarcode 2.使用 BarcodeWriter.CreateBarcode() 和您的数据字符串 3.使用 BarcodeEncoding 枚举指定条形码类型 4.使用 SaveAs 方法保存为 JPEG、PNG 或 PDF 格式 5.应用字体大小和页边距的可选样式 这是一个完整的示例: ```cs :title=Quickstart 使用 IronBarcode; // 创建一个简单的 Code128 BarCode GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128); // 将 BarCode 保存为图像 barcode.SaveAsJpeg("MyFirstBarcode.jpg"); // 或使用自定义尺寸保存 BarCode.ResizeTo(400, 100); barcode.SaveAsPng("MyCustomBarcode.png"); 有关更详细的安装说明,请访问我们的[入门概述](https://ironsoftware.com/csharp/barcode/docs/)页面。 <! -- 待办事项:在此处添加图片 --> <! --  --> --> <!--说明:显示代码执行输出或结果的截图 --> <h2>如何创建一维和线性条形码? 线性一维条形码使用可变宽度的线和空格来水平存储数据。 二维条形码(如 QR 码)使用方格网格来保存二维信息。 二维条码可容纳更多数据,如 URL 或联系卡,而一维条码则仅限于简短的字母数字字符串。 这种简洁性可以让一维 BarCode 扫描得更快。 它使这些工具与标准激光扫描仪普遍兼容,是高速零售和物流环境的理想选择。 在处理大容量扫描应用程序时,请探索我们的[阅读速度选项](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/),以优化性能。 让我们来探讨一下最受支持的格式以及如何使用 IronBarcode 创建这些格式。 <h3>如何创建 Code-128 BarCode? Code 128 BarCode 常用于内部物流和运输标签。 它支持全部 128 个字符的 ASCII 范围,能高效地将标准数字和英文文本压缩到较小的空间内。 这使得 Code 128 成为仓库管理系统和库存跟踪的理想选择,因为在这些系统中,空间有限,但数据密度至关重要。 然而,在没有额外扩展的情况下,它无法原生支持 Unicode 或非拉丁字符。 它无法处理中文或阿拉伯语等语言的复杂字符,会误解数据,导致错误输出。 对于需要 Unicode 支持的应用程序,请参阅我们的[编写 Unicode 条形码](https://ironsoftware.com/csharp/barcode/how-to/writing-in-unicode/)指南。 <h4>我需要哪些代码? IronBarcode 可直接生成 Code-128:在调用 `Create` 方法时,将 `BarcodeEncoding.Code128` 作为第二个参数传递,然后导出为图像。 了解有关 [ 使用各种格式和选项创建条形码图像](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-images/)的更多信息。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-code-128-barcode.cs 输出结果是什么样的? 如何创建 GSI-128 条形码? GS1-128 是在 Code 128 基础上应用的一种附加数据格式。GS1-128 的主要优点是全球数据解释一致,消除了误解和歧义。 这种标准化对于产品在不同公司和国家之间流动的供应链管理至关重要。 但是,由于格式要求严格,缺少隐藏控制字符或字段长度不正确都会导致条形码不合规。 如果您在 GS1-128 格式化方面遇到问题,我们的[GS1-128故障排除指南](https://ironsoftware.com/csharp/barcode/troubleshooting/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**分隔符。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-gsi-128-barcode.cs ``` GSI-128 输出是什么样的? 如何修复 GSI-128 格式错误? 如果您的字符串不符合 GS1-128 标准,IronBarcode 会抛出异常。 使用上表验证字符串值,并进行相应修改。 如何创建 Code 39 BarCode? Code 39 是最早的字母数字条形码标准之一,以可靠性著称。 常见于汽车和国防领域。 它能够对字母和数字进行编码,而不需要校验数位,因此对于通过其他方式验证数据完整性的环境来说非常简单。 然而,Code 39 的字符集有限。 它只允许大写英文字符、数字和符号,如/、.、-等。标准模式不支持小写。 有关阅读标准和扩展 Code 39 条形码的信息,请参阅我们的 [Code 39 阅读指南](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/)。 代码 39 需要哪些代码? 要生成 Code39,请在使用 `Create` 时将 `BarcodeEncoding.Code39` 作为第二个参数传递。 下面是一个例子: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-code-39-barcode.cs ``` 代码 39 输出是什么样的? 为什么会出现代码 39 错误? 如果字符串不符合 Code39 标准,IronBarcode 会抛出此异常。 [{w:(IronBarcode 目前不支持生成扩展 Code39 条形码; 仅支持阅读。 关于阅读扩展和标准 Code39,请参阅我们的 [Code 39 阅读教程](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/)。 如何创建 Code 93 BarCode? 代码 93 是对代码 39 的改进,常用于空间有限但需要字母数字数据的物流和电子元件标签中。 改进后的密度适合空间有限的小型电子元件。 它接受完整的 ASCII 字符、大写英文字母、数字和符号。 提供比代码 39 更高的密度。 Code 93 需要哪些代码? 要生成 Code93,请在使用 `Create` 时将 `BarcodeEncoding.Code93` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-code-93-barcode.cs ``` Code 93 输出是什么样的? 如何创建 CodaBar BarCode? Codabar 可防止打印质量差,广泛应用于血库和图书馆。 格式的容错性非常适合低质量打印机或磨损的情况。 长度可变,但字符集有限。 仅包含数字(0-9)和符号 `(-, $, :, /, ., +)` 。 开始/停止字符 A、B、C、D 表示开始或结束。 这些字符不能出现在 BarCode 中间。 CodaBar 需要哪些代码? 要生成 Codabar,请在使用 `Create` 时将 `BarcodeEncoding.Codabar` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-codabar-barcode.cs ``` CodaBar 输出是什么样的? 为什么 CodaBar 会抛出错误? 如果输入包含字母,IronBarcode 会出现异常,说明它只接受数值。 如何创建 DataBar BarCode? GS1 DataBar(原 RSS-14)更为简洁,专为产品标识号而设计。 适用于新鲜农产品等小件物品,因为传统的 BarCode 占用太多空间。 在我们的[新格式里程碑更新](https://ironsoftware.com/csharp/barcode/product-updates/milestones-new-formats/)中了解有关更新格式功能的更多信息。 与 GS1-128 一样,它也有严格的编码格式。 全方位变体仅包含****产品代码属性。 GS1-DataBar 要求什么格式? **(数字前缀-01)GTIN(全球贸易项目编号)**:唯一的产品 ID。 必须是准确的 14 位数字。 [{w:(标准 "GS1 DataBar Omnidirectional "只能****保存 GTIN (01)。 使用 GS1 DataBar Expanded 获取附加属性。 如何生成 GS1 DataBar 代码? 要生成 GS1 DataBar,请在使用 `Create` 时将 `BarcodeEncoding.DataBar` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-gs1-databar-barcode.cs ``` DataBar 输出是什么样的? 如何创建 EAN-13 BarCode? EAN-13 是全球消费品使用的标准零售条形码,也是使用最广泛的格式之一。 对于零售应用,探讨如何[定制条形码样式](https://ironsoftware.com/csharp/barcode/how-to/customize-barcode-style/)以符合品牌要求。 EAN-13 需要严格的授权。 如果没有获得 GS1 公司前缀许可,您就无法生成供公众使用的 EAN-13 编号,以确保条形码的唯一性。 仅包含 13 位数字。 有关许可信息,请访问我们的[许可页面](https://ironsoftware.com/csharp/barcode/licensing/)。 EAN-13 有特定的格式规则。 EAN-13 需要什么格式? EAN-13 BarCode 由四部分组成: **GS1前缀(前3位)**:标识GS1成员组织,通常是注册国。 举例说明:000-019(美国/加拿大 - UPC 兼容)、500-509(英国)、450-459(日本)。 **制造商代码**:由 GS1 分配的可变长度代码。 **产品代码**:由制造商分配给特定项目。 **校验数位(最后一位数)**:使用模 10 算法从前 12 位计算得出。 确保扫描仪读取准确。 [{w:(前缀 200-299 保留用于限制分发。 在生产中生成 EAN-13 条形码时不要使用这些前缀。 如何生成 EAN-13 代码? 要生成 EAN-13,请在使用 `Create` 时将 `BarcodeEncoding.EAN13` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-ean13-barcode.cs ``` EAN-13 输出是什么样的? 如何修复 EAN-13 格式错误? IronBarcode 对于非数值会出现异常。 如何创建 EAN-8 BarCode? EAN-8 是 EAN-13 的精简版,适用于全尺寸条形码占用空间过大的小型消费品。 常见于包装空间有限的铅笔和化妆品上。 与 Code 128 或 Code 39 不同,EAN-8 使用特定分配的前缀,而不是任意数字。 EAN-8 使用严格的 8 位数格式:7 个数据位和 1 个校验位。 仅限数字。 EAN-8 需要哪些代码? 创建 EAN-8 需要在使用 `Create` 时将 `BarcodeEncoding.EAN8` 传递给第二个参数: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-ean8-barcode.cs ``` EAN-8 输出是什么样的? 为什么我收到 EAN-8 长度错误? 如果输入包含 8 个以上数字字符,IronBarcode 会出现异常,说明 EAN-8 需要 8 个字符。 如何创建智能邮件 BarCode? 智能邮件条形码 (IMB) 是美国邮政的邮件自动分拣和跟踪标准。 与传统的宽度调制条形码不同,IMB 使用高度调制条形码。 必须获得信件和单位的自动化价格折扣。 仅支持特定的数字长度:20、25、29 或 31 位。 使用特定的数字前缀来定义信息。 智能邮件需要什么格式? **(前 2 位)条形码 ID**:条形码标识符。 严格限制 2 位数字。 通常 00 用于标准商业邮件。 **(后三位)服务类型 ID (STID)**:定义邮件类别(如一等邮件、营销邮件)和服务(如地址更正、跟踪)。 对邮政折扣至关重要。 **(接下来的 6 或 9 位数字)Mailer ID (MID)**:USPS 分配给贵公司的 6 或 9 位数字编号。 **(接下来的 6 位或 9 位数字)序列号**:用于识别独一无二的单个邮件。 **(最后 0、5、9 或 11 位数字)路由代码**:送货邮政编码。 如何生成智能邮件代码? 要生成 IMB,请在调用 `Create` 时将 `BarcodeEncoding.IntelligentMail` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-imb-barcode.cs ``` 智能邮件输出是什么样的? 如何修复智能邮件格式错误? 如果格式不正确,IronBarcode 会抛出异常。 根据上述格式验证字符串值,修改后重试。 如何创建 MSI BarCode? MSI 常见于零售货架标签和仓库库存控制,很少用于消费品。 它的简单性和可靠性使其在内部操作中很受欢迎。 有关 MSI 识别问题,请查看我们的 [MSI BarCode 故障排除指南](https://ironsoftware.com/csharp/barcode/troubleshooting/could-not-recognize-msi-barcode/)。 MSI 仅限数字; 不允许使用字母或符号。 长度不定,通常为 10-15 位数。 MSI 需要哪些代码? 要生成 MSI,请在调用 `Create` 时将 `BarcodeEncoding.MSI` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-msi-barcode.cs ``` 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 代码? 要生成 UPC-A,请在调用 `Create` 时将 `BarcodeEncoding.UPCA` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-upc-a-barcode.cs ``` UPC-A 输出是什么样的? 为什么我收到 UPC-A 长度错误? 如果数值长度超过 13,IronBarcode 就会出错。 如何创建 UPC-E 条形码? UPC-E 是紧凑型 UPC-A 版本,适用于苏打罐等小型零售包装,因为完整的 12 位 UPC-A 尺寸太大。 压缩算法以大约一半的篇幅编码相同的信息。 与 UPC-A 一样,严格使用数字。 不接受字母或符号。 UPC-E 需要哪些代码? 要生成 UPC-E,请在调用 `Create` 时将 `BarcodeEncoding.UPCE` 作为第二个参数传递: ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-upc-e-barcode.cs ``` UPC-E 输出是什么样的? 如何修复 UPC-E 长度错误? 如果数字位数超过 8,IronBarcode 就会出错。 --> <!--描述:截图或图表 --> 有哪些不同的一维条形码类型? 名称 翻译格式 常见用法 限制与陷阱 代码 128。 字母数字支持完整的 ASCII 128。长度可变。高密度。 内部物流、运输标签、资产跟踪、身份证。 无 Unicode: 无法在不破坏扫描仪兼容性的情况下对特殊字符(如中文或表情符号)进行本地编码。 打印机质量:要求高分辨率;低 DPI 热敏打印可能导致可读性问题。 GS1-128 结构化字母数字代码 128,带前导 FNC1 + 应用程序标识符(例如,(01))。 全球供应链(沃尔玛/亚马逊)、托盘标签、EDI。 缺少 FNC1: 必须以不可见的 FNC1 字符开头,否则扫描仪会将其读作原始文本。 括号:请勿对人工智能周围的()进行编码;这些括号仅供人类阅读。 代码 39. 字母数字(受限)大写 A-Z、0-9 和 -.$ / + % 空格。 汽车 (AIAG)、国防 (LOGMARS)、传统工业 ID。 无小写:如果输入 "a",标准模式将失效。扩展模式支持小写,但需要特定的扫描仪配置。 低密度:生成的条形码非常宽,不适合小标签。 代码 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 Numeric (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。 常见问题解答 可以生成哪些类型的一维 BarCode? IronBarcode 可以生成所有主要的一维条码格式,包括 Code 128、GS1-128、Code 39、Code 93、EAN-13、EAN-8、UPC-A、UPC-E、Intelligent Mail、MSI、Codabar 和 DataBar。每种格式都适用于不同的应用--Code 128 适用于运输标签,EAN-8 适用于小型产品,而 Intelligent Mail BarCode 则适用于邮政服务。 如何在 C# 中创建基本的一维 BarCode? 要使用 IronBarcode 创建一维条码,请使用 BarcodeWriter.CreateBarcode() 方法输入您的数据字符串,并使用 BarcodeEncoding 枚举指定条码类型。例如GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128); 保存 BarCode 支持哪些输出格式? IronBarcode 支持以多种格式保存生成的条形码,包括 JPEG、PNG 和 PDF。您可以使用 SaveAsJpeg()、SaveAsPng() 或其他 SaveAs 方法,以所需格式导出您的条形码。 能否自定义生成的 BarCode 的大小和外观? 是的,IronBarcode 允许您使用 ResizeTo() 方法自定义条码尺寸。您还可以应用字体大小和边距的可选样式,以确保条形码符合您的特定要求。 库是否包括条形码格式的自动验证? IronBarcode 包括对所有支持的条码格式进行自动验证和符合性检查。这可确保生成的条码符合行业标准,并可被标准条码阅读器扫描。 为什么要使用线性条形码而不是二维条形码? 线性条形码仍然是行业标准,因为它们快速、可靠,几乎适用于任何扫描仪。由于不需要复杂的图像处理,IronBarcode 的线性条码在零售收银台和传送带等高速环境中表现出色。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 2,002,059 | 版本: 2025.12 刚刚发布 免费 NuGet 下载 总下载量:2,002,059 查看许可证