如何创建一维和线性条形码
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 条形码的严格格式用于邮政服务。 IronBarcode 可帮助您高效、可靠地生成所有这些格式。 该库还支持各种输出数据格式,以便与您的现有系统无缝集成。
本指南涵盖如何使用 IronBarcode 生成最重要的一维格式及其常见用例。
快速入门:创建您的第一个一维条形码
使用 IronBarcode 的简单 API,从字符串创建 Code128 条形码并将其保存为 JPEG 图像。 立即开始--提供数据、选择编码和大小,然后编写图像文件。
如何使用 IronBarcode 创建一维和线性条形码
- 下载 IronBarcode C# 库以创建条形码。
- 使用`CreateBarcode`生成带有字符串值的条形码
- 使用 `BarcodeEncoding` 指定条形码类型
- 使用 `SaveAsJpeg` 将条形码保存为图像或其他格式
如何创建一维和线性条形码?
线性一维条形码使用可变宽度的线和空格来水平存储数据。 二维条形码(如 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")
输出结果是什么样的?
如何创建 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 个字母数字字符。
如何使用 IronBarcode 生成 GSI-128?
生成 GS1-128 BarCode 非常简单; 调用 Create 时,将 BarcodeEncoding.Code128GS1 作为第二个参数传递。
下面的示例显示了一个符合 GS1-128 标准的完整值,包含所有四个属性,并将其导出为图像。
: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")
GSI-128 输出是什么样的?
如何修复 GSI-128 格式错误?
如果您的字符串不符合 GS1-128 标准,IronBarcode 会抛出异常。 使用上表验证字符串值,并进行相应修改。
如何创建 Code 39 BarCode?
Code 39 是最早的字母数字条形码标准之一,以可靠性著称。 常见于汽车和国防领域。 它能够对字母和数字进行编码,而不需要校验数位,因此对于通过其他方式验证数据完整性的环境来说非常简单。
然而,Code 39 的字符集有限。 它只允许大写英文字符、数字和符号,如/、.、-等。标准模式不支持小写。 有关阅读标准和扩展 Code 39 条形码的信息,请参阅我们的 Code 39 阅读指南。
代码 39 需要哪些代码?
要生成 Code39,在使用 @@--CODE-350--CODE-359 ...
下面是一个例子:
: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")
代码 39 输出是什么样的?
为什么会出现代码 39 错误?
如果字符串不符合 Code39 标准,IronBarcode 会抛出此异常。
如何创建 Code 93 BarCode?
代码 93 是对代码 39 的改进,常用于空间有限但需要字母数字数据的物流和电子元件标签中。 改进后的密度适合空间有限的小型电子元件。
它接受完整的 ASCII 字符、大写英文字母、数字和符号。 提供比代码 39 更高的密度。
Code 93 需要哪些代码?
要生成 Code93,请在使用 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");
Imports IronBarCode
' Valid Input: Uppercase A-Z, 0-9, specific symbols
Dim code93Value As String = "ELEC-COMP-99"
' Create Code 93
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("code93.jpg")
Code 93 输出是什么样的?
如何创建 CodaBar BarCode?
Codabar 可防止打印质量差,广泛应用于血库和图书馆。 格式的容错性非常适合低质量打印机或磨损的情况。
长度可变,但字符集有限。 仅包含数字(0-9)和符号 (-, $, :, /, ., +)。 开始/停止字符 A、B、C、D 表示开始或结束。 这些字符不能出现在 BarCode 中间。
CodaBar 需要哪些代码?
要生成 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");
Imports IronBarCode
' Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
Dim codabarValue As String = "10500200"
' Create Codabar
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg")
CodaBar 输出是什么样的?
为什么 CodaBar 会抛出错误?
如果输入包含字母,IronBarcode 会出现异常,说明它只接受数值。
如何创建 DataBar BarCode?
GS1 DataBar(原 RSS-14)更为简洁,专为产品标识号而设计。 适用于新鲜农产品等小件物品,因为传统的 BarCode 占用太多空间。 在我们的新格式里程碑更新中了解有关更新格式功能的更多信息。
与 GS1-128 一样,它也有严格的编码格式。 全方位变体仅包含****产品代码属性。
GS1-DataBar 要求什么格式?
(数字前缀-01)GTIN(全球贸易项目编号):唯一的产品 ID。 必须是准确的 14 位数字。
如何生成 GS1 DataBar 代码?
要生成 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");
Imports IronBarCode
' Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit
Dim databarValue As String = "0123456789012"
' Create GS1 DataBar
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("databar.jpg")
DataBar 输出是什么样的?
如何创建 EAN-13 BarCode?
EAN-13 是全球消费品使用的标准零售条形码,也是使用最广泛的格式之一。 对于零售应用,探讨如何定制条形码样式以符合品牌要求。
EAN-13 需要严格的授权。 如果没有获得 GS1 公司前缀许可,您就无法生成供公众使用的 EAN-13 编号,以确保条形码的唯一性。 仅包含 13 位数字。 有关许可信息,请访问我们的许可页面。
EAN-13 有特定的格式规则。
EAN-13 需要什么格式?
EAN-13 BarCode 由四部分组成:
GS1前缀(前3位):标识GS1成员组织,通常是注册国。 举例说明:000-019(美国/加拿大 - UPC 兼容)、500-509(英国)、450-459(日本)。
制造商代码:由 GS1 分配的可变长度代码。
产品代码:由制造商分配给特定项目。
校验数位(最后一位数):使用模 10 算法从前 12 位计算得出。 确保扫描仪读取准确。
如何生成 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");
Imports IronBarCode
' Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
Dim ean13Value As String = "4006381333931"
' Create EAN-13
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg")
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 传递给第二个参数:
: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");
Imports IronBarCode
' Valid Input: 7 digits (library calculates 8th check digit).
Dim ean8Value As String = "1234567"
' Create EAN-8
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg")
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 作为第二个参数传递:
: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");
Imports 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)
Dim imbValue As String = "00270123456200800001"
' Create Intelligent Mail
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("imb.jpg")
智能邮件输出是什么样的?
如何修复智能邮件格式错误?
如果格式不正确,IronBarcode 会抛出异常。 根据上述格式验证字符串值,修改后重试。
如何创建 MSI BarCode?
MSI 常见于零售货架标签和仓库库存控制,很少用于消费品。 它的简单性和可靠性使其在内部操作中很受欢迎。 有关 MSI 识别问题,请查看我们的 MSI BarCode 故障排除指南。
MSI 仅限数字; 不允许使用字母或符号。 长度不定,通常为 10-15 位数。
MSI 需要哪些代码?
要生成 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");
Imports IronBarCode
' Valid Input: Numeric digits only. Variable length.
Dim msiValue As String = "1234567890"
' Create MSI
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("msi.jpg")
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 作为第二个参数传递:
: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");
Imports IronBarCode
' Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits
Dim upcaValue As String = "01234567890"
' Create UPC-A
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG
barcode.SaveAsJpeg("upca.jpg")
UPC-A 输出是什么样的?
为什么我收到 UPC-A 长度错误?
如果数值长度超过 13,IronBarcode 就会出错。
如何创建 UPC-E 条形码?
UPC-E 是紧凑型 UPC-A 版本,适用于苏打罐等小型零售包装,因为完整的 12 位 UPC-A 尺寸太大。 压缩算法以大约一半的篇幅编码相同的信息。
与 UPC-A 一样,严格使用数字。 不接受字母或符号。
UPC-E 需要哪些代码?
要生成 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 in which the last digit is a check digit
// 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");
Imports IronBarCode
' Valid input: 8 digits or less in which the last digit is a check digit
' IronBarcode automatically calculates the check digit if only 7 digits are provided.
Dim upceValue As String = "0123456"
' Create UPC-E
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("upce.jpg")
UPC-E 输出是什么样的?
如何修复 UPC-E 长度错误?
如果数字位数超过 8,IronBarcode 就会出错。
有哪些不同的一维条形码类型?
| 名称 | 翻译格式 | 常见用法 | 限制与陷阱 |
|---|---|---|---|
| **代码 128**。 | **字母数字** 支持完整的 ASCII 128。长度可变。高密度。 |
内部物流、运输标签、资产跟踪、身份证。 |
|
| **GS1-128** | **结构化字母数字** 代码 128,带前导 `FNC1` + 应用程序标识符(例如,`(01)`)。 |
全球供应链(沃尔玛/亚马逊)、托盘标签、EDI。 |
|
| **代码 39**. | **字母数字(受限)** 大写 A-Z、0-9 和 `-.$ / + % 空格`。 |
汽车 (AIAG)、国防 (LOGMARS)、传统工业 ID。 |
|
| **代码 93**。 | **字母数字** 与 Code 39 类似,但密度更高。 |
电子产品(PCB)、加拿大邮政和内部制造。 |
|
| **Codabar** | **数字 + 符号** 0-9 和 `- $ : /.+`。开始/停止:A、B、C、D。 |
血库、图书馆、联邦快递空运单(传统)。 |
|
| **GS1 数据条** | **数字(14 位)** 仅编码 GTIN-14。极其紧凑。 |
松散的农产品(水果贴纸)、小型化妆品和保健品瓶。 |
|
| **EAN-13** | **数字(13 位)** 国家/地区 + 制造商 + 产品 + 校验位。 |
全球零售销售点(超市)。 |
|
| **EAN-8** | **数字(8 位数)** 7 个数据 + 1 个校验数位。 |
微小的零售包装(口香糖、铅笔)。 |
|
| **智能邮件** | **数字(20、25、29、31 位)** 高度调制(4 态)条形图。 |
USPS 邮件分拣与自动化。 |
|
| **MSI(Plessey)** | **仅限数字** 变量长度。 |
零售货架标签、仓库垃圾箱。 |
|
| **UPC-A** | **数字(12 位)** 11 个数据 + 1 个校验数位。 |
北美零售销售点。 |
|
| **UPC-E** | **数字(6 位)** 压缩格式。 |
美国/加拿大的小型零售包装(苏打水罐)。 |
|
常见问题解答
可以生成哪些类型的一维 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 的线性条码在零售收银台和传送带等高速环境中表现出色。

