IronBarcode 开始 C# 和 VB.NET 应用程序中的条形码和二维码 Curtis Chau 已更新:六月 10, 2025 下载 IronBarcode NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 使用我们的 IronBarcode 软件库,在 C# 和所有其他 .NET 语言中读取和写入条形码非常简单。 安装IronBarcode 旅程的第一步是安装 IronBarcode,可以通过从 NuGet 下载或下载 DLL来完成。 要安装 IronBarcode NuGet 包,您可以使用 Visual Studio 的 NuGet 包管理器: Install-Package BarCode 或者,您也可以使用 dotnet CLI 进行安装: dotnet add package IronBarCode 读取条形码或二维码 使用 IronBarcode 读取条形码只需要一行代码。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-1.cs using IronBarCode; BarcodeResults results = BarcodeReader.Read("QuickStart.jpg"); if (results != null) { foreach (BarcodeResult result in results) { Console.WriteLine(result.Text); } } Imports IronBarCode Private results As BarcodeResults = BarcodeReader.Read("QuickStart.jpg") If results IsNot Nothing Then For Each result As BarcodeResult In results Console.WriteLine(result.Text) Next result End If $vbLabelText $csharpLabel 只需一行代码,即可高效检测并扫描输入文档中的所有类型条形码——一步到位,满足您的所有需求!此方法支持多种图像格式,例如 JPEG、PNG 和 BMP,以及 PDF 和多帧格式,例如 GIF 和 TIFF。 为了提高性能,提供了可自定义的配置选项。 为了提高读取速度,您可以创建一个BarcodeReaderOptions对象,并将Speed设置配置为更好的性能。 默认设置为Balanced ,但可以选择Faster选项来跳过某些检查。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-2.cs using IronBarCode; BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() { ExpectMultipleBarcodes = false, ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128, CropArea = new System.Drawing.Rectangle(100, 200, 300, 400), }; BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample); if (result != null) { Console.WriteLine(result.First().Text); } Imports IronBarCode Private myOptionsExample As New BarcodeReaderOptions() With { .ExpectMultipleBarcodes = False, .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128, .CropArea = New System.Drawing.Rectangle(100, 200, 300, 400) } Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample) If result IsNot Nothing Then Console.WriteLine(result.First().Text) End If $vbLabelText $csharpLabel 您还可以将ScanMode设置为OnlyBasicScan ,以优化读取过程。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-3.cs using IronBarCode; BarcodeResults results = BarcodeReader.Read("MultipleBarcodes.png"); // Loop through the results foreach (BarcodeResult result in results) { string value = result.Value; Bitmap img = result.BarcodeImage; BarcodeEncoding barcodeType = result.BarcodeType; byte[] binary = result.BinaryValue; Console.WriteLine(result.Value); } Imports IronBarCode Private results As BarcodeResults = BarcodeReader.Read("MultipleBarcodes.png") ' Loop through the results For Each result As BarcodeResult In results Dim value As String = result.Value Dim img As Bitmap = result.BarcodeImage Dim barcodeType As BarcodeEncoding = result.BarcodeType Dim binary() As Byte = result.BinaryValue Console.WriteLine(result.Value) Next result $vbLabelText $csharpLabel 其他配置包括指定要扫描的条形码格式,这可以通过减少不必要的扫描来加快处理速度。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-4.cs using IronBarCode; BarcodeResults pagedResults = BarcodeReader.Read("MultipleBarcodes.pdf"); // Loop through the results foreach (BarcodeResult result in pagedResults) { int pageNumber = result.PageNumber; string value = result.Value; Bitmap img = result.BarcodeImage; BarcodeEncoding barcodeType = result.BarcodeType; byte[] binary = result.BinaryValue; Console.WriteLine(result.Value); } // or from a multi-page TIFF scan with image correction: BarcodeResults multiFrameResults = BarcodeReader.Read(inputImage: "Multiframe.tiff", new BarcodeReaderOptions { Speed = ReadingSpeed.Detailed, ExpectMultipleBarcodes = true, ExpectBarcodeTypes = BarcodeEncoding.Code128, Multithreaded = false, RemoveFalsePositive = false, ImageFilters = null }); Imports IronBarCode Private pagedResults As BarcodeResults = BarcodeReader.Read("MultipleBarcodes.pdf") ' Loop through the results For Each result As BarcodeResult In pagedResults Dim pageNumber As Integer = result.PageNumber Dim value As String = result.Value Dim img As Bitmap = result.BarcodeImage Dim barcodeType As BarcodeEncoding = result.BarcodeType Dim binary() As Byte = result.BinaryValue Console.WriteLine(result.Value) Next result ' or from a multi-page TIFF scan with image correction: Dim multiFrameResults As BarcodeResults = BarcodeReader.Read(inputImage:= "Multiframe.tiff", New BarcodeReaderOptions With { .Speed = ReadingSpeed.Detailed, .ExpectMultipleBarcodes = True, .ExpectBarcodeTypes = BarcodeEncoding.Code128, .Multithreaded = False, .RemoveFalsePositive = False, .ImageFilters = Nothing }) $vbLabelText $csharpLabel 条形码编写 要使用 IronBarcode 编写条形码,我们使用BarcodeWriter类。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-5.cs using IronBarCode; GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128); myBarcode.SaveAsImage("myBarcode.png"); Imports IronBarCode Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128) myBarcode.SaveAsImage("myBarcode.png") $vbLabelText $csharpLabel 条形码样式 IronBarcode 提供了多种选项来操控条形码的视觉呈现。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-7.cs using IronBarCode; GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128); myBarcode.AddAnnotationTextAboveBarcode("Product URL:"); myBarcode.AddBarcodeValueTextBelowBarcode(); myBarcode.SetMargins(100); myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple); // All major image formats supported as well as PDF and HTML myBarcode.SaveAsPng("myBarcode.png"); Imports IronBarCode Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128) myBarcode.AddAnnotationTextAboveBarcode("Product URL:") myBarcode.AddBarcodeValueTextBelowBarcode() myBarcode.SetMargins(100) myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple) ' All major image formats supported as well as PDF and HTML myBarcode.SaveAsPng("myBarcode.png") $vbLabelText $csharpLabel 将条形码导出为 HTML IronBarcode 可以将条形码导出为 HTML 文档或 HTML 内容的一部分。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-8.cs using IronBarCode; QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPdf("MyQR.pdf"); Imports IronBarCode QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPdf("MyQR.pdf") $vbLabelText $csharpLabel 生成二维码 对于二维码,请使用QRCodeWriter类,该类提供了针对二维码特定功能(例如纠错)的额外配置。 :path=/static-assets/barcode/content-code-examples/get-started/get-started-9.cs using IronBarCode; using IronSoftware.Drawing; QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png"); GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo); myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf"); Imports IronBarCode Imports IronSoftware.Drawing Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png") Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo) myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf") $vbLabelText $csharpLabel 支持的条形码格式 IronBarcode支持多种常用条形码格式的读取和写入: QR码、微型QR码和矩形微型QR码(rMQR码) 。 其他二维条形码,例如Aztec 、 Data Matrix 、 MaxiCode和PDF417 。 堆叠式线性条形码,例如Databar 。 传统的一维条形码格式,例如UPC-A 、 UPC-E 、 EAN-8 、 EAN-13 、 Codabar 、 ITF 、 MSI和Plessey 。 为什么选择 IronBarcode? IronBarcode 为开发人员提供了一个友好、易于使用的 API,用于读取和写入 .NET 条形码,该 API 在实际使用场景中针对准确性、精确性和速度进行了优化。 例如, BarcodeWriter类会自动验证和纠正 UPCA 和 UPCE 条形码的"校验和",并处理数字格式约束。 IronBarcode 帮助开发人员选择最适合其数据的条形码格式。 该库功能强大,具有自动旋转和图像去噪等图像预处理技术,可最大限度地提高条形码检测成功率。 前行 为了充分利用 IronBarcode,我们鼓励您阅读本文档部分中的教程,并访问我们的GitHub 页面。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,979,979 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:1,979,979 查看许可证