IRONSOFTWAREHOME
USING IRONBARCODE

使用 IronBarcode 的条码 .NET 组件教程

Curtis Chau
Curtis Chau
Updated: 2026年6月20日

条形码.NET组件是一个托管代码库,只需几行代码即可在 C# 应用程序中生成和读取条形码。 IronBarcode支持所有主流条码——Code 128、QR、Data Matrix、EAN、UPC 等——并且可在 Windows、Linux 和 macOS 上运行,无需额外的运行时依赖项。

通过NuGet安装,即可在几分钟内开始生成条形码:

PM > Install-Package BarCode

什么是条形码.NET组件?

条形码.NET组件是一个以NuGet包形式打包的软件库,它通过简洁的 API 提供条形码生成和读取功能。 与需要手动计算校验和以及复杂格式规则的条形码字体不同,专用组件会在内部处理所有编码逻辑。

IronBarcode库提供了两个主要入口点:

  • BarcodeWriter -- 创建从文本或数字数据生成条形码图像、PDF和HTML
  • BarcodeReader -- 扫描图像、PDF和多帧TIFF以提取条形码值

这种双向设计意味着您既可以将条形码打印到标签上,也可以从同一个库中的文档中扫描条形码,这对于库存管理、文档跟踪、Crystal Reports 集成和数据自动化工作流程至关重要。

支持的符号体系包括:

-一维线性条码:Code 128、Code 39、Code 93、ITF-14、EAN-13、EAN-8、UPC-A、UPC-E -二维矩阵:QR码、Data Matrix码、PDF417码、Aztec码

  • GS1 变体:GS1-128、GS1 DataBar

制造系统通常使用 Code 128 进行产品跟踪,因为它能有效地对字母数字数据进行编码。 医疗保健应用通常使用数据矩阵字体进行药品标签印刷,因为它在非常小的尺寸下也能很好地打印。 零售销售点系统在结账时扫描 EAN-13 和 UPC-A 条形码。 在集成条形码功能时,选择适合您使用场景的符号体系是您需要做出的首要决定之一。

如何在.NET项目中安装IronBarcode ?

using Visual Studio 中的NuGet包管理器或.NET CLI 安装IronBarcode只需不到两分钟。

程序包管理器控制台(Visual Studio):

PM > Install-Package BarCode

.NET CLI

dotnet add package BarCode

如何在C#中集成条形码.NET组件:图3 - 安装

安装软件包后,在任何使用条形码功能的文件顶部添加命名空间:

using IronBarCode;

IronBarcode 的目标框架为.NET Framework 4.6.2 及更高版本、 .NET Core 3.1 及更高版本以及.NET 5 至.NET 10。它可在 Windows、Linux 和 macOS 上运行,因此相同的代码无需特定于平台的配置即可在云托管容器、本地服务器和开发人员工作站上运行。

对于ASP.NET Core应用程序,无需注册中间件。 您可以直接从控制器、后台服务或Razor Pages 调用 API。 Windows Forms 和 WPF 应用程序以相同的方式获得访问权限——添加命名空间并开始调用方法。

如何在C#中集成条形码.NET组件:图4 - 跨平台支持生成条形码

IronBarcode入门指南中提供了详细的安装步骤,包括离线NuGet源配置和代理设置。

如何在C#中生成条形码图像?

使用IronBarcode生成条形码需要三个步骤:选择编码、设置值和保存输出。 以下示例创建 Code 128 条形码,并将其保存为 PNG 图像和 PDF 文档:

using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");

ResizeTo() 方法精确设置像素尺寸,这在打印特定DPI的标签时非常重要。 AddBarcodeValueTextBelowBarcode() 调用在条形下方添加可读文本,以便在仓库和零售环境中更容易进行人工验证。

条形码输出格式

如何在C#中集成条形码.NET组件:图5 - PNG输出

如何在C#中集成条形码.NET组件:图6 - PDF输出

IronBarcode可导出为 PNG、JPEG、GIF、TIFF、BMP、PDF、HTML 和 base64 字符串。 base64 格式特别适用于将条形码嵌入到 API 响应中,前端可以动态渲染这些响应,而无需将文件写入磁盘。

如何在C#中生成QR码?

对于QR码,IronBarcode提供了 QRCodeWriter 类,内置支持错误校正等级和模块大小控制:

using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");

二维码可以编码网址、纯文本、vCard联系人数据、Wi-Fi凭证和任意字节序列。 条形码生成示例页面涵盖了其他编码场景,包括 Data Matrix 和 PDF417。

如何从图像中读取条形码?

从图像中读取条形码与写入条形码一样直接。 BarcodeReader.Read() 方法接受文件路径、BitmapIronSoftware.Drawing.AnyBitmap,并返回一个 BarcodeResults 集合:

using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}

阅读器会自动对图像进行预处理,以纠正常见的扫描问题:旋转、倾斜、噪声、低对比度和透视变形。 这意味着您可以直接传递原始扫描仪输出,而无需自行进行预处理。

从真实文档扫描

如何在C#中集成条形码.NET组件:图7 - 可扫描的Code128条形码

读取输出

如何在C#中集成条形码.NET组件:图8 - 条形码输出

如何配置条形码读取选项?

对于高流量或具有挑战性的扫描场景,BarcodeReaderOptions 让您可以精细地控制读取算法:

using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);

ExpectBarcodeTypes 设置为与您实际期望的格式相匹配提高了吞吐量,因为读取器会跳过无法匹配的模式。 Speed 属性范围从 Faster(适合清晰、高质量图像)到 ExtremeDetail(适合损坏或低分辨率来源)。 条形码读取文档涵盖了其他选项,包括多线程和感兴趣区域扫描。

如何自定义条形码外观?

IronBarcode允许您在保存条形码之前控制生成的条形码的每一个视觉方面。 您可以通过编程方式设置颜色、字体、边距和注释文本。 在为品牌标签或受监管行业生成条形码时,如果标签布局遵循严格的规范,这将非常有用。

该 API 遵循流畅式模式:创建条形码,调用样式方法,然后保存。 所有样式属性都会立即影响输出,无需单独的渲染步骤。有关可用属性的完整列表,请参阅样式和注释示例

如何处理PDF文档中的条形码?

IronBarcode读取嵌入在 PDF 文件中的条形码的方式与读取图像文件的方式相同。 将PDF路径传递给 BarcodeReader.Read(),库会自动从每一页提取条形码。 这对于应付账款工作流程(其中发票 PDF 包含 GS1-128 条形码)和物流系统(其中发货清单以 PDF 附件形式分发)来说很有价值。

您还可以使用IronBarcode和IronPDF直接在 PDF 页面中写入条形码以生成文档。 常见的做法是生成一个包含人可读地址块和用于跟踪号码的可扫描 Code 128 条形码的货运标签 PDF。

如需进一步了解 PDF 条形码工作流程,IronBarcode教程部分提供了涵盖发票处理、批量标签打印和文档归档的端到端示例。

如何将条形码集成到ASP.NET Core API 中?

从ASP.NET Core控制器端点返回条形码图像是显示动态标签的 Web 门户的常见需求。 IronBarcode 的 base64 输出使这一切变得很简单:

using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}

这种方法适用于任何前端框架。 浏览器接收标准图像响应并在 <img> 标签中显示。 对于高流量端点,只需生成一次条形码并缓存字节数组,因为相同的产品 ID 总是生成相同的条形码图像。

IronBarcode API 参考文档记录了所有可用方法,包括流式输出,从而避免为非常高分辨率的条形码分配大型字节数组。

IronBarcode如何处理条形码验证和纠错?

条形码标准定义了严格的编码规则和校验和要求。 Code 128 使用加权模 103 校验和。 EAN-13 使用模 10。二维码嵌入了里德-所罗门纠错技术,即使条形码高达 30% 被遮挡或损坏,也能部分恢复数据。

IronBarcode会自动执行这些规则。 当您调用 BarcodeWriter.CreateBarcode() 时,库验证数据是否符合符号的字符集和长度限制,然后计算并附加正确的校验和,而无需您代码的任何额外步骤。 这样可以防止生成扫描器会拒绝的无效条形码。

在读取方面,该库在解码过程中应用了纠错功能,这意味着它通常可以从部分撕裂、污损或低分辨率打印的条形码中恢复正确的值。 这种行为对于零售和物流行业的GS1 条码标准合规性尤为重要。

要深入了解条形码纠错在规范层面的工作原理, ISO/IEC 条形码标准文档提供了权威的技术参考。

条形码集成的常见场景有哪些?

常见的条码集成场景和IronBarcode推荐功能
场景符号集IronBarcode 的主要功能
零售销售点EAN-13,UPC-ABarcodeEncoding.EAN13 ,PDF导出
仓库库存代码 128,ITF-14ExpectMultipleBarcodes = true
医疗保健标签数据矩阵,GS1-128小尺寸打印,高分辨率输出
文件跟踪PDF417,代码 39PDF 阅读,支持多页
移动产品查找二维码QRCodeWriter.CreateQrCode()
运输标签代码 128,GS1-128标签大小的 PDF 输出,文本注释

不同的场景适合不同的配置选择。 IronBarcode示例库提供了上述所有场景的可运行代码。

下一步计划是什么?

集成条形码.NET组件可以将原本需要数周时间的自定义开发工作简化为一个下午的配置工作。 IronBarcode处理编码规则、校验和、图像预处理和纠错,因此您的团队可以专注于条形码工作流程的业务逻辑,而不是条形码机制本身。

继续前进:

  1. 安装包:在包管理器控制台中输入 dotnet add package BarCodeInstall-Package BarCode 2.尝试快速入门条形码快速入门示例仅需不到 20 行代码即可完成条形码的生成和读取。 3.探索条码符号体系支持的条码类型参考列表列出了所有编码格式及使用指南。 4.审核定价IronBarcode 的许可选项涵盖单个开发者、团队和 OEM 再分发用例。 5.开始免费试用:下载30 天免费试用许可证,在您自己的应用程序中评估全部功能。

对于Enterprise许可、大批量部署或技术集成难题等问题, IronBarcode支持团队随时为您提供帮助。

条形码标准和规范的外部参考资料:

GS1条码标准——全球零售和物流条码规范权威机构

Curtis Chau
技术作家

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

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户