USING IRONBARCODE 在ASP.NET Core Web 应用程序中生成条形码 Jordi Bardia 已更新:2026年2月27日 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 将条形码生成集成到 ASP.NET 网络应用程序中,可为库存管理、产品跟踪和文档自动化提供强大的功能。 本教程演示如何在.NET Core项目中使用IronBarCode生成条码——这是一个支持超过30种格式的条码库,包括二维码、数据矩阵、Code 128和UPC A。 以下快捷示例显示如何创建一个Code 128条码,并将其作为PNG图像从MVC控制器操作返回: using IronBarCode; using Microsoft.AspNetCore.Mvc; public IActionResult GenerateBarcode(string data) { GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128); barcode.ResizeTo(400, 120); barcode.AddBarcodeValueTextBelowBarcode(); byte[] barcodeBytes = barcode.ToPngBinaryData(); return File(barcodeBytes, "image/png"); } using IronBarCode; using Microsoft.AspNetCore.Mvc; public IActionResult GenerateBarcode(string data) { GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128); barcode.ResizeTo(400, 120); barcode.AddBarcodeValueTextBelowBarcode(); byte[] barcodeBytes = barcode.ToPngBinaryData(); return File(barcodeBytes, "image/png"); } $vbLabelText $csharpLabel 开始您的免费试用以便跟随下面的完整教程代码示例。 如何在.NET Core项目中安装条码库? 将条码生成功能添加到ASP.NET Core Web应用程序中需要安装IronBarCode NuGet包。 打开 Visual Studio,使用软件包管理器控制台安装依赖项: Install-Package BarCode 该包兼容.NET Core 6、7、8、10及更新版本,以及.NET Framework 4.6.2+。 该库会自动处理所有依赖项,无需额外的条码字体或系统配置。 安装后,将命名空间引用添加到控制器或服务文件中: using IronBarCode; using IronBarCode; $vbLabelText $csharpLabel 支持哪些.NET版本和平台? IronBarCode支持所有现代.NET运行时: .NET 10, 9, 8, 7, 6——完全支持的LTS和STS发布 .NET Framework 4.6.2+——遗留应用支持 部署目标——Windows、Linux、macOS、Docker、Azure、AWS 移动目标——通过.NET MAUI支持Android和iOS 无需外部GD库、本机编解码器或条码字体安装。 该库完全自包含并内部解决所有编码逻辑。 如何将命名空间添加到控制器? 安装NuGet包后,在需要生成条码的任何控制器、服务或Razor Page模型顶部引用IronBarCode命名空间: using IronBarCode; using Microsoft.AspNetCore.Mvc; using IronBarCode; using Microsoft.AspNetCore.Mvc; $vbLabelText $csharpLabel 这条BarcodeReader,以及用于生成和读取条码的所有支持类型。 如何在ASP.NET Core Web应用程序中生成条码? 在MVC控制器中创建条码涉及使用IronBarCode的BarcodeWriter类。 以下示例演示了一个完整的控制器操作,根据用户提供的网址或文本创建一个Code 128条码: using IronBarCode; using Microsoft.AspNetCore.Mvc; public class BarcodeController : Controller { public IActionResult GenerateBarcode(string data) { // Generate barcode from input data GeneratedBarcode barcode = BarcodeWriter.CreateBarcode( data, BarcodeWriterEncoding.Code128); barcode.ResizeTo(400, 120); barcode.AddBarcodeValueTextBelowBarcode(); // Return as image for display in browser byte[] barcodeBytes = barcode.ToPngBinaryData(); return File(barcodeBytes, "image/png"); } } using IronBarCode; using Microsoft.AspNetCore.Mvc; public class BarcodeController : Controller { public IActionResult GenerateBarcode(string data) { // Generate barcode from input data GeneratedBarcode barcode = BarcodeWriter.CreateBarcode( data, BarcodeWriterEncoding.Code128); barcode.ResizeTo(400, 120); barcode.AddBarcodeValueTextBelowBarcode(); // Return as image for display in browser byte[] barcodeBytes = barcode.ToPngBinaryData(); return File(barcodeBytes, "image/png"); } } $vbLabelText $csharpLabel 输出条形码图像 BarcodeWriter.CreateBarcode()方法接受条码数据作为第一个参数,编码格式作为第二个参数。 这种方法根据用户输入或数据库值动态创建条码。 要将条码图像保存到项目文件夹中,请使用SaveAsImage()方法: barcode.SaveAsImage("wwwroot/images/generated-barcode.png"); barcode.SaveAsImage("wwwroot/images/generated-barcode.png"); $vbLabelText $csharpLabel 该库支持多种输出格式,包括 PNG、GIF、BMP、SVG 和 JPEG。 您也可以将条码作为HTML导出,直接嵌入到网页中。 如何将条码作为文件下载返回? 为了将条码返回为可下载的文件而不是内嵌图像,在响应中设置Content-Disposition头: public IActionResult DownloadBarcode(string data) { GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128); barcode.ResizeTo(400, 120); byte[] pdfBytes = barcode.ToPdfBinaryData(); return File(pdfBytes, "application/pdf", "barcode.pdf"); } public IActionResult DownloadBarcode(string data) { GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128); barcode.ResizeTo(400, 120); byte[] pdfBytes = barcode.ToPdfBinaryData(); return File(pdfBytes, "application/pdf", "barcode.pdf"); } $vbLabelText $csharpLabel 这种模式对于运输标签生成、产品标签工作流程以及任何终端用户需要直接保存或打印条码文档的场景非常有用。 Web 应用程序支持哪些 BarCode 类型? IronBarCode支持超过30种格式。 以下是如何创建最常用类型的详细信息: 二维码生成 // Create QR Code with custom size GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode( "https://example.com/product/12345", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qrCode.SaveAsPng("product-qr.png"); // Create QR Code with custom size GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode( "https://example.com/product/12345", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qrCode.SaveAsPng("product-qr.png"); $vbLabelText $csharpLabel 输出 QR 代码 QR 代码生成支持纠错级别,该级别可确定代码在可读状态下可被损坏的程度。 对于预期会有物理磨损的打印二维码应用,请使用 "中 "或 "高"。 了解更多关于二维码定制选项的信息。 数据矩阵和其他 2D 格式 // Create Data Matrix barcode GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode( "DMX-2024-001", BarcodeWriterEncoding.DataMatrix); dataMatrix.SaveAsGif("datamatrix.gif"); // Create Data Matrix barcode GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode( "DMX-2024-001", BarcodeWriterEncoding.DataMatrix); dataMatrix.SaveAsGif("datamatrix.gif"); $vbLabelText $csharpLabel 输出数据矩阵 数据矩阵 BarCode 适用于需要紧凑、高密度编码的场景。 该库还生成PDF417、Aztec和MaxiCode格式。 与线性格式相比,这些二维条形码类型存储的数据要多得多,同时还能保持可靠的扫描精度。 线性条形码(UPC、EAN、Code 39) // Create UPC-A barcode for retail products GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode( "012345678905", BarcodeWriterEncoding.UPCA); upcBarcode.SaveAsPng("upc-barcode.png"); // Create UPC-A barcode for retail products GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode( "012345678905", BarcodeWriterEncoding.UPCA); upcBarcode.SaveAsPng("upc-barcode.png"); $vbLabelText $csharpLabel 输出 UPC A和EAN条码包含自动校验和验证,防止在条码生成过程中出现编码错误。 有关支持格式的完整列表,请参阅条码格式参考。 如何自定义和样式化条码图像? 为Web应用程序设计条码涉及调整颜色、字体、边距和注释。 流畅的 API 使定制变得简单: GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode( "STYLED-2024", BarcodeWriterEncoding.Code128); // Apply styling styledBarcode.ResizeTo(450, 150); styledBarcode.SetMargins(20); styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue); styledBarcode.AddAnnotationTextAboveBarcode("Product ID:"); styledBarcode.AddBarcodeValueTextBelowBarcode(); // Export to multiple formats styledBarcode.SaveAsPng("styled-barcode.png"); styledBarcode.SaveAsPdf("styled-barcode.pdf"); GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode( "STYLED-2024", BarcodeWriterEncoding.Code128); // Apply styling styledBarcode.ResizeTo(450, 150); styledBarcode.SetMargins(20); styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue); styledBarcode.AddAnnotationTextAboveBarcode("Product ID:"); styledBarcode.AddBarcodeValueTextBelowBarcode(); // Export to multiple formats styledBarcode.SaveAsPng("styled-barcode.png"); styledBarcode.SaveAsPdf("styled-barcode.pdf"); $vbLabelText $csharpLabel 有风格的 BarCode 图像 SetMargins()方法在条码周围添加空白以提高扫描器可读性。 您可以调整注释文本的字体设置,改变字体家族和字体大小,并广泛地自定义条码样式。 该库使用系统字体渲染文本,而无需外部条码字体。 如何在Razor视图中直接嵌入条码? 对于ASP.NET MVC视图,以Base64字符串的形式生成条码,可以实现无需将文件保存到磁盘的直接HTML嵌入: public IActionResult DisplayBarcode() { GeneratedBarcode barcode = BarcodeWriter.CreateBarcode( "INV-2024-0042", BarcodeWriterEncoding.Code128); string base64Image = barcode.ToDataUrl(); ViewBag.BarcodeImage = base64Image; return View(); } public IActionResult DisplayBarcode() { GeneratedBarcode barcode = BarcodeWriter.CreateBarcode( "INV-2024-0042", BarcodeWriterEncoding.Code128); string base64Image = barcode.ToDataUrl(); ViewBag.BarcodeImage = base64Image; return View(); } $vbLabelText $csharpLabel 显示条形码 在Razor视图中,将其显示在<div>元素内: <div class="barcode-container"> <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" /> </div> <div class="print-actions"> <button onclick="window.print()">Print Barcode</button> </div> <div class="barcode-container"> <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" /> </div> <div class="print-actions"> <button onclick="window.print()">Print Barcode</button> </div> HTML 这种方法消除了将条码图像保存到文件系统的需要,保持Web服务无状态。 完整的API参考记录了所有可用的方法和属性。 如何在ASP.NET Core中读取和扫描条码? 读取上传的图像或文件流中的条码是通过BarcodeReader类处理的。 这在接收工作流程、退货处理以及任何需要在服务器端解码扫描条码的场景中都很有用: using IronBarCode; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; public class BarcodeScanController : Controller { public IActionResult ScanBarcode(IFormFile uploadedImage) { using var stream = uploadedImage.OpenReadStream(); var results = BarcodeReader.Read(stream); if (results.Count > 0) { string decodedValue = results[0].Value; return Ok(new { barcode = decodedValue }); } return BadRequest("No barcode detected in image."); } } using IronBarCode; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; public class BarcodeScanController : Controller { public IActionResult ScanBarcode(IFormFile uploadedImage) { using var stream = uploadedImage.OpenReadStream(); var results = BarcodeReader.Read(stream); if (results.Count > 0) { string decodedValue = results[0].Value; return Ok(new { barcode = decodedValue }); } return BadRequest("No barcode detected in image."); } } $vbLabelText $csharpLabel System.Drawing.Bitmap对象。 它会自动检测条码格式并返回BarcodeResult对象的集合,每个对象都包含解码值、格式类型和在图像中的位置。 当多个条码出现在单一图像中时——例如在仓库货架照片上——读取器返回集合中的所有检测值,而不仅仅是第一个。 对于高吞吐量的ASP.NET应用程序而言,性能也是值得考虑的。 读取器支持兴趣区域扫描,在分析前将图像裁剪为特定像素矩形。 当条码总是出现在已知区域时,这能显著减少处理时间。 对于调整对比度以适应低质量图像或调节检测灵敏度等高级场景,请参阅条码读取文档。 如何在ASP.NET中将条码导出为PDF? 在PDF文档中直接嵌入条码是运输标签、仓库标签和法规文件的常见需求。 IronBarCode支持直接保存为PDF格式: GeneratedBarcode barcode = BarcodeWriter.CreateBarcode( "SHIP-2024-99471", BarcodeWriterEncoding.Code128); barcode.ResizeTo(500, 150); barcode.AddAnnotationTextAboveBarcode("Shipping Label"); barcode.AddBarcodeValueTextBelowBarcode(); barcode.SaveAsPdf("shipping-label.pdf"); GeneratedBarcode barcode = BarcodeWriter.CreateBarcode( "SHIP-2024-99471", BarcodeWriterEncoding.Code128); barcode.ResizeTo(500, 150); barcode.AddAnnotationTextAboveBarcode("Shipping Label"); barcode.AddBarcodeValueTextBelowBarcode(); barcode.SaveAsPdf("shipping-label.pdf"); $vbLabelText $csharpLabel 对于多条码PDF文档——例如一页的产品标签——分别生成每个条码并使用PDF库进行合并。 IronPDF集成指南解释了如何在现有PDF模板上盖章条码,这对于向预设计标签布局添加条码非常有用。 SaveAsPdf()方法还接受输出尺寸,以便渲染的PDF页面与标签打印机所需的物理标签大小相匹配。 如何处理条码生成错误和验证? 不同格式的条码编码规则是不同的。 例如,UPC-A要求正好为11或12位数字,EAN-13要求正好为12或13位,而Code 128在标准尺寸下的可读输出有48个字符的实用限制。 传递无效数据会引发IronBarCodeEncoderException。 在控制器操作中显式处理编码错误: public IActionResult SafeGenerate(string data, string format) { try { var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true); GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding); return File(barcode.ToPngBinaryData(), "image/png"); } catch (IronBarCodeEncoderException ex) { return BadRequest($"Encoding error: {ex.Message}"); } catch (ArgumentException ex) { return BadRequest($"Unknown format: {ex.Message}"); } } public IActionResult SafeGenerate(string data, string format) { try { var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true); GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding); return File(barcode.ToPngBinaryData(), "image/png"); } catch (IronBarCodeEncoderException ex) { return BadRequest($"Encoding error: {ex.Message}"); } catch (ArgumentException ex) { return BadRequest($"Unknown format: {ex.Message}"); } } $vbLabelText $csharpLabel 在生产环境中,在调用CreateBarcode()之前,验证输入数据的长度和字符集。 IronBarCode文档提供了每种支持的条码类型的格式特定编码约束。 您的下一步是什么? 使用IronBarCode构建ASP.NET条码生成器提供了一种可在.NET Core Web应用程序中创建、样式化和导出条码图像的可靠解决方案。 该库可自动处理复杂的编码标准,同时通过开发人员友好的 API 提供广泛的自定义功能。 无论是为移动扫描生成QR码、为工业应用生成数据矩阵条码,还是为零售生成UPC码,IronBarCode都可直接与ASP.NET MVC控制器和Razor页面集成。 探索这些资源以进一步了解: IronBarCode入门指南——安装和首次运行指南 从图像读取条码——服务器端解码扫描条码 QR码定制——标识、颜色和错误校正 导出为PDF——嵌入条码到PDF文档中 条码样式指南——注释、颜色和边距 完整API参考——所有类、方法和属性 许可选项——选择适合生产部署的许可 实时代码示例——为每种条码类型提供可运行的样例 二维条码格式——PDF417、Aztec、MaxiCode等 一维条码格式——Code 39、ITF、EAN-13等 您可以在免费评估期内测试完整功能集。 对于生产部署和商业用途,请查看许可选项以选择符合您项目需求的适当许可。 该库支持位图和矢量导出,每个版本都保持在Windows、Linux、Android和iOS部署目标之间的兼容性。 有关疑问、与其他.NET条码库的基准测试、或企业集成支持,请访问IronBarCode支持门户。 立即开始使用 IronBarcode。 免费开始 常见问题解答 IronBarcode在ASP.NET Core中支持哪些条形码格式? IronBarcode支持超过 30 种条形码格式,包括 QR 码、Data Matrix、Code 128、UPC-A、EAN-13、Code 39、PDF417、Aztec、MaxiCode、ITF 等。它同时支持一维线性条形码和二维矩阵条形码。 如何从ASP.NET MVC 控制器中将生成的条形码作为图像返回? 调用 BarcodeWriter.CreateBarcode() 并传入数据和编码格式,然后使用 ToPngBinaryData() 获取字节数组,并通过控制器操作中的 File(bytes, 'image/png') 返回该数组。 IronBarcode能否读取ASP.NET中上传图片中的条形码? 是的。可以使用 `BarcodeReader.Read()` 方法,并传入一个 `IFormFile` 流来解码用户上传图片中的条形码。读取器会将所有检测到的条形码返回为一个 `BarcodeResult` 对象集合。 如何在不保存文件的情况下将条形码嵌入Razor视图中? 调用 barcode.ToDataUrl() 获取 Base64 数据 URL 字符串,将其分配给 ViewBag,并在Razor视图中将其作为 img 元素的 src 属性呈现。 IronBarcode支持哪些.NET版本? IronBarcode支持.NET 6、7、8、9、10 和.NET Framework 4.6.2+。它可在 Windows、Linux、macOS、Docker、Azure、AWS、Android 和 iOS 上运行。 在ASP.NET中如何处理无效条形码数据? 将 BarcodeWriter.CreateBarcode() 函数用 try-catch 语句包裹起来,以捕获 IronBarCodeEncoderException 异常。在编码之前,根据格式特定的约束条件验证输入长度和字符集,以防止出现异常。 IronBarcode能否将条形码导出为PDF格式? 是的。对任何 GeneratedBarcode 对象调用 SaveAsPdf() 方法即可生成 PDF 文件。该方法接受输出路径和可选的页面尺寸(用于匹配实际标签尺寸)。 使用IronBarcode是否需要条形码字体? 不IronBarcode是一个独立的程序,它在内部处理所有编码和渲染工作。无需条形码字体、GD 库或额外的系统配置。 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 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多 C# 从字符串生成 BarCode:使用 IronBarcode 的完整教程如何使用 C# 构建.NET MAUI条...
已发布2026年3月8日 构建条码SDK C#: 使用一个库生成、读取和扫描条码 使用IronBarcode在C#中构建条码SDK功能。生成条码图像,从文件中扫描多个条码,并使用一个.NET库读取QR码。包括示例代码。 阅读更多
已更新2026年3月1日 .NET条形码字体:如何在不依赖字体的情况下生成和打印条形码 使用IronBarcode ,以现代化的方式在.NET中处理条形码字体。生成 Code 39 和 Code 128 条形码图像——无需依赖任何字体。提供免费试用版。 阅读更多