USING IRONBARCODE 使用 IronBarcode 的条码 .NET 组件教程 Jordi Bardia 已更新:2026年2月27日 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 条码.NET组件是一个托管代码库,允许您在C#应用程序中仅使用几行代码生成和读取条码。 IronBarcode 支持所有主要符号体系——Code 128, QR, Data Matrix, EAN, UPC等,并且在Windows, Linux和macOS上运行,无需额外的运行时依赖。 通过NuGet安装,几分钟内即可开始生成条码: Install-Package BarCode Install-Package BarCode SHELL 什么是条码.NET组件? 条码.NET组件是一个软件库,作为NuGet包提供,通过简洁的API提供条码生成和读取功能。 与需要手动校验和计算和复杂格式化规则的条码字体不同,专用组件内部处理所有编码逻辑。 IronBarcode库暴露了两个主要入口点: BarcodeWriter -- 从文本或数值数据创建条码图像、PDF和HTML BarcodeReader -- 扫描图像、PDF和多框架TIFF以提取条码值 这种双向设计意味着您可以在同一库中将条码打印到标签上并从文档中扫描回来,这对于库存管理、文档跟踪、水晶报表集成和数据自动化工作流至关重要。 支持的符号体系包括: 1D线性:Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E 2D矩阵:QR码, Data Matrix, PDF417, Aztec GS1变体:GS1-128, GS1 DataBar 制造系统通常使用Code 128进行产品跟踪,因为它能有效地编码字母数字数据。 医疗应用程序通常依赖Data Matrix进行药物标签,因为它能很好地在非常小的尺寸上打印。 零售POS系统在结账时扫描EAN-13和UPC-A条码。 为您的使用案例选择合适的符号体系是集成条码功能时首先要做的决定之一。 如何在.NET项目中安装IronBarcode? 使用Visual Studio中的NuGet包管理器或.NET CLI安装IronBarcode不到两分钟。 包管理器控制台 (Visual Studio): Install-Package BarCode Install-Package BarCode SHELL .NET CLI: dotnet add package BarCode dotnet add package BarCode SHELL 包安装后,在任何使用条码功能的文件顶部添加命名空间: using IronBarCode; using IronBarCode; $vbLabelText $csharpLabel IronBarcode面向.NET Framework 4.6.2及以上版本,.NET Core 3.1及以上版本,以及.NET 5到.NET 10。在Windows、Linux和macOS上运行,因此相同的代码可以在云托管容器、本地服务器和开发工作站上运行,无需平台特定配置。 对于ASP.NET Core应用程序,不需要中间件注册。 您可以从控制器、后台服务或Razor页面直接调用API。 Windows窗体和WPF应用程序以相同方式访问——添加命名空间并开始调用方法。 详细的安装步骤,包括离线NuGet源配置和代理设置,提供在IronBarcode入门指南中。 如何在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"); 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"); $vbLabelText $csharpLabel ResizeTo()方法精确设置像素尺寸,这在您以特定DPI打印标签时非常重要。 AddBarcodeValueTextBelowBarcode()调用在条形下面添加人可读文本,使仓库和零售环境中的人工验证更容易。 条码输出格式 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"); 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"); $vbLabelText $csharpLabel QR码可以编码URL、纯文本、vCard联系人数据、Wi-Fi凭据和任意字节序列。 条码生成示例页面涵盖了包括Data Matrix和PDF417在内的其他编码场景。 如何从图像中读取条码? 从图像中读取条码和写入一样直接。 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}"); } 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}"); } $vbLabelText $csharpLabel 阅读器自动预处理图像以校正常见的扫描问题:旋转、倾斜、噪音、低对比度和透视扭曲。 这意味着您可以直接传递原始扫描仪输出,无需自己预处理。 从真实文档扫描 读取输出 如何配置条码读取选项? 对于高容量或具有挑战性的扫描场景,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); 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); $vbLabelText $csharpLabel 设置ExpectBarcodeTypes以匹配实际预期的格式可提升吞吐量,因为阅读器跳过无法匹配的模式。 ExtremeDetail(最适合受损或低分辨率来源)。 条码阅读文档覆盖了包括多线程和感兴趣区域扫描在内的其他选项。 如何自定义条码外观? IronBarcode允许您在保存之前控制生成的条码的每个视觉方面。 您可以通过编程设置颜色、字体、边距和注释文本。 这在生成品牌标签或遵循严格规范的行业标签时非常有用。 API遵循流式样式模式:创建条码,调用样式方法,然后保存。 所有样式属性立即影响输出,并不需要单独的渲染步骤。查看样式和注释示例以获取完备的可用属性列表。 如何处理PDF文档中的条码? IronBarcode读取嵌入在PDF文件中的条码与读取图像文件相同。 将PDF路径传递给BarcodeReader.Read(),库会自动提取每个页面中的条码。 这对于包含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"); } 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"); } $vbLabelText $csharpLabel 此方法适用于任何前端框架。 浏览器接收标准的图像响应并在<img>标签中显示。 对于高流量端点,一次生成条码并缓存字节数组,因为相同的产品ID总是会生成相同的条码图像。 IronBarcode API参考记录了所有可用的方法,包括流式输出,避免为非常高分辨率的条码分配大型字节数组。 IronBarcode如何处理条码验证和误差校正? 条码标准定义严格的编码规则和校验和要求。 Code 128使用加权模103校验和。 EAN-13使用模10。QR码嵌入里德-所罗门误差校正,即使在30%的条码被遮挡或损坏时也允许部分数据恢复。 IronBarcode自动实施这些规则。 当您调用BarcodeWriter.CreateBarcode()时,库会验证数据是否符合符号体系的字符集和长度限制,然后计算并附加正确的校验和,无需您的代码额外步骤。 这可以防止生成无效的条码,扫描仪会拒绝这些条码。 在读取端,库在解码时应用误差校正,这意味着它通常可以从部分撕裂、涂抹或低分辨率打印的条码中恢复正确值。 此行为对于GS1条码标准在零售和物流中的合规性尤其重要。 为了更深入了解条码误差校正在规范层面上的工作原理,ISO/IEC条码标准文档提供权威的技术参考。 常见的条码集成场景是什么? 常见的条码集成场景和推荐的IronBarcode功能 场景 符号体系 关键IronBarcode功能 零售POS EAN-13, UPC-A `BarcodeEncoding.EAN13`, PDF导出 仓库库存 Code 128, ITF-14 `ExpectMultipleBarcodes = true` 医疗标签 Data Matrix, GS1-128 小尺寸打印,高DPI导出 文档跟踪 PDF417, Code 39 PDF读取,多页支持 移动产品查找 二维码 `QRCodeWriter.CreateQrCode()` 发货标签 Code 128, GS1-128 标签大小PDF输出,文本注释 每个场景受益于不同的配置选择。 IronBarcode示例库提供上述所有场景的可运行代码。 您的下一步是什么? 集成条码.NET组件将原本需要几周的定制开发工作转变为一个下午的配置。 IronBarcode处理编码规则、校验和、图像预处理和误差校正,以便您的团队能够专注于围绕条码工作流的业务逻辑,而不是条码机制本身。 继续操作: 安装软件包:Install-Package BarCode在软件包管理器控制台中 尝试快速入门:条码快速入门示例在不到20行代码中演示生成和读取 探索符号体系:支持的条码类型参考列出所有编码格式,并提供使用指导 查看定价:IronBarcode许可选项涵盖单开发者、团队和OEM再分发使用情况 开始免费试用:下载30天免费试用许可证,在您自己的应用程序中评估完整功能集 有关企业许可、高容量部署或技术集成挑战的问题,IronBarcode支持团队可以提供帮助。 条码标准和规范的外部参考: GS1条码标准 -- 全球零售和物流条码规范的权威 ISO/IEC条码标准委员会 -- 国际1D和2D条码符号体系标准 C# 条码问答在Stack Overflow上 -- 社区讨论.NET中的条码实现 常见问题解答 什么是条码 .NET 组件? 条形码.NET组件是一个软件库,它使开发人员能够将条形码生成和扫描集成到.NET应用程序中,自动处理编码规则、校验和以及图像预处理。 IronBarcode 如何帮助 .NET 应用程序? IronBarcode提供了一个.NET组件,可通过简单的 API 生成和读取条形码,从而可以轻松地将条形码功能添加到 C# 应用程序,而无需手动实现编码算法。 使用 IronBarcode 可以生成哪些类型的条码? IronBarcode支持 Code 128、Code 39、Code 93、ITF-14、EAN-13、EAN-8、UPC-A、UPC-E、QR Code、Data Matrix、PDF417、Aztec 和 GS1 等多种条码。 为什么我应该使用条码组件而不是自己创建解决方案? 专业的条形码组件可自动处理校验和计算、纠错、图像预处理和多格式支持,从而缩短开发时间并降低生成无效条形码的风险。 IronBarcode 适合用于数据自动化任务吗? 是的, IronBarcode非常适合数据自动化。它可以从图像和 PDF 中读取条形码,并直接集成到后台服务、计划任务和ASP.NET Core API 中。 IronBarcode 可以用于文档跟踪吗? 是的IronBarcode可以读取多页 PDF 文件和多帧 TIFF 文件中的条形码,使其适用于物流、应付账款和档案管理中的文档跟踪工作流程。 IronBarcode支持哪些.NET版本? IronBarcode支持.NET Framework 4.6.2 及更高版本、 .NET Core 3.1 及更高版本以及.NET 5 至.NET 10,可在 Windows、Linux 和 macOS 上运行。 IronBarcode 如何增强库存管理系统? IronBarcode提供可靠的条形码生成和多条形码扫描功能,支持从图像和 PDF 文件进行扫描,从而在仓库和零售环境中实现快速准确的库存跟踪。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已发布2026年3月8日 为.NET应用程序创建条码专业SDK 一个全面的.NET条码SDK,用于QR码、GS1、数据矩阵等。支持.NET 6-10、Core和Framework。 阅读更多 已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多 已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多 Xamarin 条形码生成器:使用IronBarcode在 C# 中生成条形码MAUI 条码扫描器与IronBarcode...
已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多
已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多