USING IRONBARCODE Using a Barcode Reader SDK for .NET Jordi Bardia 已更新:八月 5, 2025 Download IronBarcode NuGet 下载 DLL 下载 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 条码扫描是许多应用程序的重要功能,从库存管理到零售和物流。 通过将条码读取集成到您的.NET应用程序中,您可以简化数据捕获,自动化工作流程,并提高效率。 IronBarcode是一个强大的.NET库,使与条码的工作变得简单。 借助此工具,您可以从图像、流和PDF文件中读取条码,还可以生成二维码。 本文将向您展示如何将条码扫描集成到您的.NET应用程序中,重点是创建API或Web应用程序以公开条码扫描功能。 IronBarcode集成的最佳用例 IronBarcode非常适合: 库存管理系统 – 自动化条码扫描以跟踪产品和库存水平。 物流应用程序 – 处理扫描的条码图像用于装运、接收和包裹跟踪。 零售POS系统 – 验证条码扫描以进行销售交易和价格查找。 文档处理 – 从PDF发票、收据或身份证中提取条码数据。 如何在.NET中创建条码阅读器SDK 要创建一个可以在您的应用程序中作为服务公开的条码阅读器,您需要将IronBarcode集成到REST API或Web应用程序中。下面是如何使用ASP.NET Core进行此操作的示例。 安装用于C#阅读条码的.NET库 创建可重用的条码扫描类。 开发从不同来源读取条码的方法。 将条码图像读取集成到您的应用程序中。 测试并优化性能。 在我们开始之前 如果您还没有,下载IronBarcode用于您的项目。 确保您拥有合适的许可证密钥用于您预期的使用。 请注意,通过公共API公开IronBarcode的功能或将其作为独立服务转售需要额外的许可(SDK、OEM 或 SaaS)。 在继续之前,请确保您了解许可事项。 创建条码扫描器类 当您设置好IronBarcode并将其安装到项目中后,您可以创建一个可重用的条码扫描器类,这个类集成了IronBarcode的功能并将其作为API端点公开。 using IronBarCode; using System.IO; namespace BarcodeIntegration { public class BarcodeScanner { static BarcodeScanner() { // Set the license key IronBarCode.License.LicenseKey = "Your-License-Key"; } // Method to read a barcode from an image file public string ReadBarcodeFromImage(string imagePath) { try { // Try to read the barcode from the given image path var barcode = BarcodeReader.Read(imagePath); return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found } catch (Exception ex) { // Return an error message if an exception occurs return $"Error reading barcode: {ex.Message}"; } } // Method to read a barcode from a stream (e.g., file upload or memory stream) public string ReadBarcodeFromStream(Stream inputStream) { try { // Try to read the barcode from the given stream var barcode = BarcodeReader.Read(inputStream); return barcode?.ToString() ?? "No barcode found"; } catch (Exception ex) { return $"Error reading barcode: {ex.Message}"; } } // Method to read a barcode from a PDF file public string ReadBarcodeFromPdf(string filePath) { try { // Try to read the barcode from the given PDF file path var barcode = BarcodeReader.ReadPdf(filePath); return barcode?.ToString() ?? "No barcode found"; } catch (Exception ex) { return $"Error reading barcode: {ex.Message}"; } } } } using IronBarCode; using System.IO; namespace BarcodeIntegration { public class BarcodeScanner { static BarcodeScanner() { // Set the license key IronBarCode.License.LicenseKey = "Your-License-Key"; } // Method to read a barcode from an image file public string ReadBarcodeFromImage(string imagePath) { try { // Try to read the barcode from the given image path var barcode = BarcodeReader.Read(imagePath); return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found } catch (Exception ex) { // Return an error message if an exception occurs return $"Error reading barcode: {ex.Message}"; } } // Method to read a barcode from a stream (e.g., file upload or memory stream) public string ReadBarcodeFromStream(Stream inputStream) { try { // Try to read the barcode from the given stream var barcode = BarcodeReader.Read(inputStream); return barcode?.ToString() ?? "No barcode found"; } catch (Exception ex) { return $"Error reading barcode: {ex.Message}"; } } // Method to read a barcode from a PDF file public string ReadBarcodeFromPdf(string filePath) { try { // Try to read the barcode from the given PDF file path var barcode = BarcodeReader.ReadPdf(filePath); return barcode?.ToString() ?? "No barcode found"; } catch (Exception ex) { return $"Error reading barcode: {ex.Message}"; } } } } Imports IronBarCode Imports System.IO Namespace BarcodeIntegration Public Class BarcodeScanner Shared Sub New() ' Set the license key IronBarCode.License.LicenseKey = "Your-License-Key" End Sub ' Method to read a barcode from an image file Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String Try ' Try to read the barcode from the given image path Dim barcode = BarcodeReader.Read(imagePath) Return If(barcode?.ToString(), "No Barcode Found") ' Return the barcode string or indicate no barcode was found Catch ex As Exception ' Return an error message if an exception occurs Return $"Error reading barcode: {ex.Message}" End Try End Function ' Method to read a barcode from a stream (e.g., file upload or memory stream) Public Function ReadBarcodeFromStream(ByVal inputStream As Stream) As String Try ' Try to read the barcode from the given stream Dim barcode = BarcodeReader.Read(inputStream) Return If(barcode?.ToString(), "No barcode found") Catch ex As Exception Return $"Error reading barcode: {ex.Message}" End Try End Function ' Method to read a barcode from a PDF file Public Function ReadBarcodeFromPdf(ByVal filePath As String) As String Try ' Try to read the barcode from the given PDF file path Dim barcode = BarcodeReader.ReadPdf(filePath) Return If(barcode?.ToString(), "No barcode found") Catch ex As Exception Return $"Error reading barcode: {ex.Message}" End Try End Function End Class End Namespace $vbLabelText $csharpLabel 此BarcodeScanner类抽象了IronBarcode的功能,使其易于集成到任何.NET应用程序中。 我们来看看这里包含的不同方法的分解: 读取条码的方法 以下每种方法均尝试从不同类型的输入读取条码: ReadBarcodeFromImage(string imagePath): 从图像文件读取条码。 ReadBarcodeFromStream(Stream inputStream): 从输入流读取条码(例如,文件上传或内存流)。 ReadBarcodeFromPdf(string filePath): 从PDF文件中读取条码。 每种方法尝试读取条码数据并返回条码字符串,或在未找到条码或发生异常时返回错误信息。 通过REST API公开条码读取 为了允许外部应用程序使用您的条码扫描功能,您可以使用ASP.NET Core将其公开为REST API。 下面是您可能会这样做的一个示例: using Microsoft.AspNetCore.Mvc; using System.IO; using Microsoft.AspNetCore.Http; using BarcodeIntegration; [ApiController] [Route("api/barcode")] public class BarcodeController : ControllerBase { private readonly BarcodeScanner _barcodeScanner; public BarcodeController() { // Initialize the BarcodeScanner class _barcodeScanner = new BarcodeScanner(); } // POST endpoint to read barcode from an uploaded image [HttpPost("read-from-image")] public IActionResult ReadFromImage(IFormFile file) { using var stream = file.OpenReadStream(); var result = _barcodeScanner.ReadBarcodeFromStream(stream); return Ok(new { Barcode = result }); // Return the barcode reading result } } using Microsoft.AspNetCore.Mvc; using System.IO; using Microsoft.AspNetCore.Http; using BarcodeIntegration; [ApiController] [Route("api/barcode")] public class BarcodeController : ControllerBase { private readonly BarcodeScanner _barcodeScanner; public BarcodeController() { // Initialize the BarcodeScanner class _barcodeScanner = new BarcodeScanner(); } // POST endpoint to read barcode from an uploaded image [HttpPost("read-from-image")] public IActionResult ReadFromImage(IFormFile file) { using var stream = file.OpenReadStream(); var result = _barcodeScanner.ReadBarcodeFromStream(stream); return Ok(new { Barcode = result }); // Return the barcode reading result } } Imports Microsoft.AspNetCore.Mvc Imports System.IO Imports Microsoft.AspNetCore.Http Imports BarcodeIntegration <ApiController> <Route("api/barcode")> Public Class BarcodeController Inherits ControllerBase Private ReadOnly _barcodeScanner As BarcodeScanner Public Sub New() ' Initialize the BarcodeScanner class _barcodeScanner = New BarcodeScanner() End Sub ' POST endpoint to read barcode from an uploaded image <HttpPost("read-from-image")> Public Function ReadFromImage(ByVal file As IFormFile) As IActionResult Dim stream = file.OpenReadStream() Dim result = _barcodeScanner.ReadBarcodeFromStream(stream) Return Ok(New With {Key .Barcode = result}) ' Return the barcode reading result End Function End Class $vbLabelText $csharpLabel Swagger UI 输出 此API公开了一个POST端点,可以上传条码图像,API将返回条码数据。 这使得其他系统或前端应用可以作为服务与您的条码扫描器进行交互。 高级功能 为了进一步增强SDK,请考虑添加: 多种条码类型支持:IronBarcode支持读取多种条码的能力。 您可以添加选项配置您的SDK以同时接受多个条码。 例如: public string ReadBarcodeFromImage(string imagePath) { try { BarcodeReaderOptions options = new BarcodeReaderOptions() { ExpectMultipleBarcodes = true, ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional, }; foreach (var barcode in BarcodeReader.Read(imagePath, options)) { return barcode.ToString(); } return "No barcode found"; } catch (Exception ex) { return $"Error reading barcode: {ex.Message}"; } } public string ReadBarcodeFromImage(string imagePath) { try { BarcodeReaderOptions options = new BarcodeReaderOptions() { ExpectMultipleBarcodes = true, ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional, }; foreach (var barcode in BarcodeReader.Read(imagePath, options)) { return barcode.ToString(); } return "No barcode found"; } catch (Exception ex) { return $"Error reading barcode: {ex.Message}"; } } Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String Try Dim options As New BarcodeReaderOptions() With { .ExpectMultipleBarcodes = True, .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional } For Each barcode In BarcodeReader.Read(imagePath, options) Return barcode.ToString() Next barcode Return "No barcode found" Catch ex As Exception Return $"Error reading barcode: {ex.Message}" End Try End Function $vbLabelText $csharpLabel 错误处理:扩展错误处理和日志记录,为您的SDK用户提供更好的诊断。 批量处理:如果您想要处理来自图像集合的多个条码,可以创建方法来输入图像或流的数组。 自定义:提供条码检测参数的配置选项,例如准确性、速度和支持的条码类型。 许可注意事项 如前所述,IronBarcode SDK是为了集成到您的内部应用程序中,通过API公开需要额外的许可。 在将IronBarcode作为服务的一部分(如公共API)公开之前,您必须确保获得必要的许可(SDK、OEM 或 SaaS)。 不要将IronBarcode作为独立SDK转售或通过面向公众的API公开,而没有确保您的许可涵盖此用途。 立即免费试用IronBarcode 体验IronBarcode的创新力量。 试用我们的免费试用版,发现无缝的条码生成、阅读和编辑功能,适用于您的.NET应用程序。 凭借高级功能、卓越的性能和用户友好的界面,IronBarcode是满足您所有条码需求的终极解决方案。 立即开始您的免费试用,提升您的项目。 常见问题解答 如何将条码阅读器集成到 .NET 应用程序中? 您可以通过使用 IronBarcode 库将条码阅读器集成到 .NET 应用程序中。首先安装 IronBarcode,然后创建一个用于条码扫描的类,并实现从图像、流和 PDF 中读取条码的方法。最后测试和优化您的设置。 如何将条码读取功能公开为 REST API? 要公开条码读取功能为 REST API,使用 ASP.NET Core 创建一个 Web 应用程序。结合 IronBarcode 库,开发一个 BarcodeScanner 类,并定义使用诸如ReadBarcodeFromImage和ReadBarcodeFromStream等方法读取条码的 API 端点。 使用 .NET 条码库可以读取哪些类型的条码? 像 IronBarcode 这样的 .NET 条码库可以读取各种条码类型,包括 QR 码、Code 128、UPC 和 EAN。您可以通过设置检测参数来配置库同时检测多种条码类型。 如何在 .NET 中处理读取条码时的错误? 可以通过在使用 IronBarcode 的条码扫描方法中实现稳健的错误处理来处理条码读取中的错误。确保捕捉异常并提供有意义的反馈或重试机制,以提高条码读取过程的可靠性。 在公共 API 中使用 .NET 条码库的许可要求是什么? 在公共 API 中使用 IronBarcode 时,您必须确保正确的许可。这包括获取 SDK、OEM 或 SaaS 许可,因为将该库的功能作为独立服务或公共 API 公开需要额外的权限。 我能否使用 .NET 库批量处理多个条码扫描? 是的,您可以使用 IronBarcode 批量处理多个条码扫描。该库允许您在单次操作中读取多个条码,这对于高效地处理大量图像或文档集特别有用。 是否有可用 .NET 条码库的试用版? 是的,IronBarcode 提供免费的试用版,允许您在 .NET 应用程序中探索其条码生成、读取和编辑的功能。此试用版可帮助您在进行购买决策之前评估该库。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已发布十月 19, 2025 How to Print Barcodes in Crystal Reports with VB.NET Generate and print barcodes in Crystal Reports using VB.NET. Step-by-step tutorial with IronBarcode SDK for reliable barcode integration. 阅读更多 已发布九月 29, 2025 IronBarcode vs. Open-Source Barcode Readers in .NET Learn how to read barcodes in C# using IronBarcode 阅读更多 已发布九月 29, 2025 How to Scan Barcodes in an ASP.NET Application Learn how to Scan Barcodes in ASP.NET using IronBarcode 阅读更多 How to Create a MAUI Barcode Scanner Using IronBarcodeHow to Read Multiple Barcodes with ...
已发布十月 19, 2025 How to Print Barcodes in Crystal Reports with VB.NET Generate and print barcodes in Crystal Reports using VB.NET. Step-by-step tutorial with IronBarcode SDK for reliable barcode integration. 阅读更多
已发布九月 29, 2025 IronBarcode vs. Open-Source Barcode Readers in .NET Learn how to read barcodes in C# using IronBarcode 阅读更多
已发布九月 29, 2025 How to Scan Barcodes in an ASP.NET Application Learn how to Scan Barcodes in ASP.NET using IronBarcode 阅读更多