IRONSOFTWAREHOME
与其他组件比较

LEADTOOLS 条码与IronBarcode:企业级对比指南

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

BarCode 扫描仪不一定总是适合我们的应用。 您可能已经有了条形码的数字图像,想知道它在英文文本中代表什么。 此外,这款扫描仪只能读取一维 BarCode,其中包含的数据量有限,只能在 Windows RT 类库中使用。 二维条形码(也称 QR 码)现在很常见,可以容纳更多的信息。

使用简单的 API 调用和几个编码步骤,就可以创建一个基于 C# 的应用程序来读取 BarCode。 支持 .NET 的应用程序可在 Windows、macOS 或 Linux 上运行,无需依赖任何第三方工具或 API。

本文将比较两个功能最强大的 .NET Core 应用程序库,以便以编程方式读取 BarCode。 这两个库是 IronBarcode 和 ZXing.NET。 我们将看到 IronBarcode for .NET 比 ZXing.NET 更强大、更稳健的地方。


什么是 ZXing.NET

ZXing.NET 是一个解码和生成条形码(如 QR Code、PDF 417、EAN、UPC、Aztec、Data Matrix、Codabar)的库。 ZXing 是 "斑马线 "的缩写,是一个基于 Java 的开源库,支持多种一维和二维条形码格式。

其基本特征如下:

  • 它能够存储 URL、联系方式、日历事件等内容。
  • 它是为 Java SE 应用程序量身定制的
  • 它允许通过意图集成 BarCode 扫描仪
  • 这是一个简单明了的谷歌眼镜应用程序

什么是 IronBarcode

IronBarcode 是一个 C# 库,允许程序员读取和生成条形码。 作为领先的条形码库,IronBarcode 支持各种一维和二维条形码,包括装饰(彩色和品牌)QR 码。 它支持 .NET Standard 和 Core 2 及更高版本,可在 Azure、Linux、macOS、Windows 和 Web 上跨平台使用。 IronBarcode 是 .NET 系统的知名类库或组件,可让 C#、VB.NET 和 F# 开发人员使用标准化编程语言工作。 它允许客户浏览扫描仪标签并创建新的标准化标签。 它对二维条形码和其他三维标准化条形码的处理效果特别好。

IronBarcode 现在支持二维条码。 它提供了优化这些代码的着色、样式和像素化的功能,并能为它们添加徽标,以便在印刷品或广告材料中使用。 该库还可以读取倾斜和变形的条形码,这是其他条形码软件可能无法读取的。

安装 IronBarcode 和 ZXing.NET.

安装 ZXing.NET.

要使用 ZXing.NET 库,请使用 NuGet 软件包管理器控制台在 ASP.NET Core 应用程序中安装以下两个软件包:

1.ZXing.Net

PM > Install-Package ZXing.Net

2.ZXing.Net.Bindings.CoreCompat.System.Drawing

PM > Install-Package ZXing.Net.Bindings.CoreCompat.System.Drawing -Version 0.16.5-beta

或者,使用 NuGet 软件包管理器在您的项目中安装 ZXing.NET。 为此,请访问 Tools > NuGet Package Manager > Manage NuGet packages for solutions...,然后切换到 "Browse(浏览)"选项卡并搜索 "ZXing.NET"。

A Comparison between IronBarcode and Zxing.NET, Figure 1: ASP.NET Web应用程序

ASP.NET Web应用程序

IronBarcode 的安装

using NuGet 软件包管理器安装 IronBarcode,或直接从 产品网站下载 DLL。 IronBarcode 命名空间包含所有 IronBarcode 类。

可使用 Visual Studio 的 NuGet 软件包管理器安装 IronBarcode:软件包名称为 "Barcode"。

PM > Install-Package BarCode

创建二维条形码

使用 ZXing.NET

首先,在项目文件的根目录下新建一个名为 "qrr "的文件夹。

然后,我们将继续创建 QR 文件,并将图像系统文件存储在 "qrr "文件夹中。

在控制器中,添加GenerateFile()方法,如下面的源代码所示。

public ActionResult GenerateFile()
{
    return View();
}

[HttpPost]
public ActionResult GenerateFile(string qrText)
{
    Byte [] byteArray;
    var width = 250; // width of the QR Code
    var height = 250; // height of the QR Code
    var margin = 0;
    
    // BarcodeWriterPixelData acts as a QR code generator
    var qrCodeWriter = new ZXing.BarcodeWriterPixelData
    {
        Format = ZXing.BarcodeFormat.QR_CODE,
        Options = new QrCodeEncodingOptions
        {
            Height = height,
            Width = width,
            Margin = margin
        }
    };
    var pixelData = qrCodeWriter.Write(qrText);

    // creating a PNG bitmap from the raw pixel data; if only black and white colors are used it makes no difference if the raw pixel data is BGRA oriented and the bitmap is initialized with RGB
    using (var bitmap = new System.Drawing.Bitmap(pixelData.Width, pixelData.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb))
    {
        using (var ms = new MemoryStream())
        {
            var bitmapData = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, pixelData.Width, pixelData.Height), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
            try
            {
                // we assume that the row stride of the bitmap is aligned to 4 byte multiplied by the width of the image
                System.Runtime.InteropServices.Marshal.Copy(pixelData.Pixels, 0, bitmapData.Scan0, pixelData.Pixels.Length);
            }
            finally
            {
                bitmap.UnlockBits(bitmapData);
           }

            // Save to folder
            string fileGuid = Guid.NewGuid().ToString().Substring(0, 4);
            bitmap.Save(Server.MapPath("~/qrr") + "/file-" + fileGuid + ".png", System.Drawing.Imaging.ImageFormat.Png);

            // Save to stream as PNG
            bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            byteArray = ms.ToArray();
        }
    }
    return View(byteArray);
}

剩下的唯一改动就是将 QR 代码文件保存在 "qrr "文件夹内。 这可以通过下面的两行代码来实现。

string fileGuid = Guid.NewGuid().ToString().Substring(0, 4);
bitmap.Save(Server.MapPath("~/qrr") + "/file-" + fileGuid + ".png", System.Drawing.Imaging.ImageFormat.Png);

接下来,您必须创建GenerateFile视图,并在其中包含以下代码。 GenerateFile视图与Index视图相同。

@model Byte []
@using (Html.BeginForm(null, null, FormMethod.Post))
{
    <table>
        <tbody>
            <tr>
                <td>
                    <label>Enter text for creating QR Code</label>
                </td>
                <td>
                <input type="text" name="qrText" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <button>Submit</button>
                </td>
            </tr>
        </tbody>
    </table>
}
@{
    if (Model != null)
    {
        <h3>QR Code Successfully Generated</h3>
        <img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(Model))" />
    }
}

在文本框中输入任何值,然后单击 "提交 "按钮。 QR 代码将生成并以 .PNG 文件格式保存在 "qrr "文件夹中。

A Comparison between IronBarcode and ZXing.NET, Figure 2: 二维码生成器

二维码生成器

A Comparison between IronBarcode and ZXing.NET, Figure 3: 显示的 QR 代码文件

显示的 QR 代码文件

支持的 BarCode 格式

IronBarcode 支持多种常用条码格式,包括

  • 带有徽标和颜色的 QR 码(包括装饰码和品牌码)
  • 多格式条形码,包括 Aztec、Data Matrix、CODE 93、CODE 128、RSS Expanded Databar、UPS MaxiCode 和 USPS、IMB (OneCode) 条形码
  • RSS-14 和 PDF-417 堆叠线性条形码
  • UPCA、UPCE、EAN-8、EAN-13、Codabar、ITF、MSI 和 Plessey 是传统的数字条形码格式。

创建和保存条形码

using IronBarCode;
// Create a barcode and save it in various formats
var MyBarCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
MyBarCode.SaveAsImage("MyBarCode.png");
MyBarCode.SaveAsGif("MyBarCode.gif");
MyBarCode.SaveAsHtmlFile("MyBarCode.html");
MyBarCode.SaveAsJpeg("MyBarCode.jpg");
MyBarCode.SaveAsPdf("MyBarCode.Pdf");
MyBarCode.SaveAsPng("MyBarCode.png");
MyBarCode.SaveAsTiff("MyBarCode.tiff");
MyBarCode.SaveAsWindowsBitmap("MyBarCode.bmp");

// Convert barcode to different image formats and obtain binary data
System.Drawing.Image MyBarCodeImage = MyBarCode.Image;
System.Drawing.Bitmap MyBarCodeBitmap = MyBarCode.ToBitmap();
string DataURL = MyBarCode.ToDataUrl();
string ImgTagForHTML = MyBarCode.ToHtmlTag();
byte[] PngBytes = MyBarCode.ToPngBinaryData();

// Save barcode in PDF stream
using (System.IO.Stream PdfStream = MyBarCode.ToPdfStream())
{
    // The Stream barcode image output also works for GIF, JPEG, PDF, PNG, BMP and TIFF
}

// Stamp barcode onto an existing PDF at a specific position
MyBarCode.StampToExistingPdfPage("ExistingPDF.pdf", 1, 200, 50);

另一方面,ZXing 是一个基于 Java 的开源一维/二维条形码图像处理库。 支持 UPC-A、UPC-E、EAN-8、Code 93、Code 128、QR Code、Data Matrix、Aztec、PDF 417 和其他条形码格式。

A Comparison between IronBarcode and Zxing.NET, Figure 4: 支持的条码格式

支持的条码格式

使用 IronBarcode 创建 QR 码文件

要使用IronBarcode创建QR码,我们可以使用BarcodeWriter类。 本课介绍了创建 QR 代码的一些新颖而有趣的功能。 它使我们能够设置 QR 纠错级别,让您在 QR 代码的大小和可读性之间取得平衡。

using IronBarCode;
// Generate a simple QR Code image and save as PNG
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png");

通过纠错,我们可以明确在实际情况下阅读二维码的难易程度。 纠错级别越高,二维码越大,像素越多,复杂度越高。 在下图中,我们看到了二维码文件的显示。

A Comparison between IronBarcode and ZXing.NET, Figure 5: 支持的条码格式

二维码图片

我们首先指定条码的值和来自IronBarCode.BarcodeWriterEncoding枚举的条码格式。 然后我们可以保存为图像、System.Drawing.Image或位图代码对象。

using IronBarCode;
using System.Diagnostics;

// Generate a simple BarCode image and save as PNG using the following namespaces
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");

// This line opens the image in your default image viewer
Process.Start("MyBarCode.png");
A Comparison between IronBarcode and ZXing.NET, Figure 6: 在 C# 示例中创建 BarCode 图像

在 C# 示例中创建 BarCode 图像

IronBarcode 还支持对二维码进行样式设置,例如将徽标图形放置在图像的正中心并使其与网格对齐。 它还可以涂上颜色,以匹配特定的品牌或图形标识。

对于测试,在下面的代码示例中创建一个徽标,并看看使用QRCodeWriter.CreateQRCodeWithLogo方法是多么简单。

using IronBarCode;

// Adding a Logo
var MyQRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", "visual-studio-logo.png", 500);
MyQRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
A Comparison between IronBarcode and ZXing.NET, Figure 7: 使用徽标图像创建 QR 代码

使用徽标图像创建 QR 代码

最后,我们将生成的 QR 代码保存为 PDF 文件。为方便起见,最后一行代码将 QR 代码保存为 HTML 文件。

using IronBarCode;

// Adding a Logo
var MyQRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", "visual-studio-logo.png", 500);
MyQRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);

// Save as PDF
MyQRWithLogo.SaveAsPdf("MyQRWithLogo.pdf");

// Also Save as HTML
MyQRWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");

下面,我们将看到如何仅用一行代码就创建、样式化和导出一个 BarCode。

IronBarcode包含一个类似于System.Linq的流畅API。 我们创建一个 BarCode,设置其边距,并通过链式方法调用将其单行导出为位图。 这可能会非常有用,并使代码更容易阅读。

using IronBarCode;
using System.Drawing;

// Fluent API for Barcode image generation
string MyValue = "https://ironsoftware.com/csharp/barcode";
Bitmap BarcodeBmp = IronBarCode.BarcodeWriter.CreateBarcode(MyValue, BarcodeEncoding.PDF417)
    .ResizeTo(300, 200)
    .SetMargins(100)
    .ToBitmap();

因此,PDF417条码的System.Drawing.Image如下所示:

A Comparison between IronBarcode and ZXing.NET, Figure 8: 在 C# 中简单流畅地生成 PDF417 BarCode

在 C# 中简单流畅地生成 PDF417 BarCode

读取 QR 代码文件

使用 IronBarcode 阅读 QR 码

当您将 IronBarcode for .NET 类库与 .NET 条码阅读器结合使用时,阅读条码或 QR 码将变得轻而易举。 在第一个示例中,我们可以看到如何仅使用一行代码读取条形码。

A Comparison between IronBarcode and ZXing.NET, Figure 9: 使用 C# 扫描 Code128 BarCode 图像

使用 C# 扫描 Code128 BarCode 图像

我们可以获取 BarCode 的值、图像、编码类型和二进制数据(如果有),然后将其输出到控制台。

using IronBarCode;
using System;

// Read a barcode or QR code from an image
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result != null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
    Console.WriteLine("GetStarted was a success.  Read Value: " + Result.Text);
}

阅读 PDF 内部的 BarCode.

我们将研究如何读取扫描的 PDF 文档,并通过几行代码找到所有的一维 BarCode。

正如您所看到的,这与从单个文档中读取单个条形码非常相似,只不过我们现在知道了发现条形码的页码。

using IronBarCode;
using System;
using System.Drawing;

// Multiple barcodes may be scanned up from a single document or image. A PDF document may also be used as the input image
PagedBarcodeResult[] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");

// Work with the results
foreach (var PageResult in PDFResults)
{
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}

您将获得 PDF 中包含所有位图 BarCode 的结果数据。

A Comparison between IronBarcode and ZXing.NET, Figure 10: 阅读存储在 PDF 结果中的 BarCode

阅读存储在 PDF 结果中的 BarCode

从 GIF 和 TIFF 读取条形码

using IronBarCode;
using System;

// Multi-frame TIFF and GIF images can also be scanned, and multiple threads will be used automatically in the background for improved performance
PagedBarcodeResult[] MultiFrameResults = BarcodeReader.ReadBarcodesFromMultiFrameTiff("Multiframe.tiff", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.High, BarcodeReader.BarcodeImageCorrection.MediumCleanPixels);
foreach (var PageResult in MultiFrameResults)
{
    // Process each page result
}
A Comparison between IronBarcode and ZXing.NET, Figure 11: 从多帧 TIFF 图像中读取 BarCode

从多帧 TIFF 图像中读取 BarCode

以下示例展示了如何从扫描的 PDF 中读取 QR 码和 PDF-417 条形码。 我们设定了适当的条形码旋转校正和条形码图像校正级别,以便在不造成明显性能损失的情况下轻微清理文档。

using IronBarCode;
using System;

// PDF documents can also be scanned, and multiple threads will be used automatically in the background for improved performance
var ScanResults = BarcodeReader.ReadBarcodesFromPdf("Scan.pdf", BarcodeEncoding.All, BarcodeReader.BarcodeRotationCorrection.Low, BarcodeReader.BarcodeImageCorrection.LightlyCleanPixels);

// Work with the results
foreach (var PageResult in ScanResults)
{
    string Value = PageResult.Value;
    //...
}
A Comparison between IronBarcode and ZXing.NET, Figure 12: 从扫描的 PDF 文档中读取 BarCode

从扫描的 PDF 文档中读取 BarCode

从位图图像读取损坏的 QR 代码

下面的示例显示,该 C# 条码库甚至可以读取损坏的条码缩略图。

条形码缩略图尺寸会自动更正。 C# 中的 IronBarcode 使文件可读。

阅读器方法可自动检测出小于合法条形码的条形码图像,并将其放大。 他们要清除与缩略图工作相关的所有数字噪音,使缩略图重新具有可读性。

using IronBarCode;

// Small or 'Thumbnail' barcode images are automatically detected by IronBarcode and corrected wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.QuicklyReadOneBarcode("ThumbnailOfBarcode.gif", BarcodeEncoding.Code128);
A Comparison between IronBarcode and ZXing.NET, Figure 13: 自动校正 BarCode 缩略图尺寸

自动校正 BarCode 缩略图尺寸

从不规则图像中读取 BarCode.

在现实场景中,我们可能希望从不完美的图像中读取 BarCode。 在翻译过程中,可能会出现图像歪斜或照片有数字噪点的情况。大多数开源 .NET 条码生成和读取库都不可能做到这一点。 而 IronBarcode 则让从不完美的图像中读取条形码变得轻而易举。

我们现在来看ReadASingleBarcode方法。 通过其RotationCorrection参数,IronBarcode试图矫正并从不完美的数字样本中读取条码。

using IronBarCode;
using System;
using System.Drawing;

// All BarcodeResult.Read methods provide the developer with control to correct image and photograph correction and straightening rotation and perspective from skewed images
// * RotationCorrection   e.g BarcodeReader.BarcodeRotationCorrection.Extreme un-rotates and removes perspective from barcode images.
// * ImageCorrection      e.g BarcodeReader.BarcodeImageCorrection.DeepCleanPixels separates barcodes from background imagery and digital noise.
// * BarcodeEncoding      e.g. BarcodeEncoding.Code128,  Setting a specific Barcode format improves speed and reduces the risk of false positive results

// Example with a photo image
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte[] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
A Comparison between IronBarcode and ZXing.NET, Figure 14: 从手机摄像头读取条形码

从手机摄像头读取条形码

IronBarcode还可以同时读取多个条形码。当我们创建文档列表并使用条形码读取器读取多个文档时,IronBarcode的性能会更佳。 用于条码扫描过程的ReadBarcodesMultithreaded方法使用多个线程,可能利用CPU的所有核心,这比一次读取一个条码要快得多。

using IronBarCode;

// The BarcodeResult.ReadBarcodesMultiThreaded method allows for faster barcode scanning of multiple images or PDFs. All threads are automatically managed by IronBarcode.
var ListOfDocuments = new[] { "Image1.png", "image2.JPG", "image3.pdf" };
PagedBarcodeResult[] BatchResults = BarcodeReader.ReadBarcodesMultiThreaded(ListOfDocuments);

// Work with the results
foreach (var Result in BatchResults)
{
    string Value = Result.Value;
    //...
}

使用 ZXing.NET 阅读和解码 QR 代码

要读取QR码文件,请按照如下所示将ViewFile动作方法添加到您的控制器中。

public ActionResult ViewFile()
{
    List<KeyValuePair<string, string>> fileData = new List<KeyValuePair<string, string>>();
    KeyValuePair<string, string> data;

    string[] files = Directory.GetFiles(Server.MapPath("~/qrr"));
    foreach (string file in files)
    {
        // Create a barcode reader instance
        IBarcodeReader reader = new BarcodeReader();

        // Load a bitmap
        var barcodeBitmap = (Bitmap)Image.FromFile(Server.MapPath("~/qrr") + "/" + Path.GetFileName(file));

        // Detect and decode the barcode inside the bitmap
        var result = reader.Decode(barcodeBitmap);

        // Do something with the result
        data = new KeyValuePair<string, string>(result.ToString(), "/QR/" + Path.GetFileName(file));
        fileData.Add(data);
    }
    return View(fileData);
}
A Comparison between IronBarcode and ZXing.NET, Figure 15: 阅读和解码 QR 代码

阅读和解码 QR 代码

A Comparison between IronBarcode and ZXing.NET, Figure 16: 解码 QR 代码

解码 QR 代码

解码位图中的 BarCode.

using ZXing;
using System.Drawing;

// Create a barcode reader instance
BarcodeReader reader = new BarcodeReader();

// Load a bitmap
var barcodeBitmap = (Bitmap)Image.FromFile("C:\\sample-barcode-image.png");

// Detect and decode the barcode inside the bitmap
var result = reader.Decode(barcodeBitmap);

// Do something with the result
if (result != null)
{
    txtDecoderType.Text = result.BarcodeFormat.ToString();
    txtDecoderContent.Text = result.Text;
}

中兴解码器在线

ZXing Decoder Online 是一款支持解码的在线条形码和二维码扫描器。 上传 PNG 或其他格式的二维码图片,它就会开始解码。 同样,您也可以为任何数据生成 QR 代码。 大多数情况下,这些信息将是您希望编码到 QR 代码中的 URL 或文本。

导航至 ZXing Decoder 网站。

A Comparison between IronBarcode and ZXing.NET, Figure 17: 解码 QR 代码

ZXing 解码器网站

A Comparison between IronBarcode and ZXing.NET, Figure 18: 解码 QR 代码

ZXing 解码结果

定价和许可

ZXing.NET 库是一个免费的开源库,允许您构建条形码读取应用程序,采用 Apache License 2.0 许可,允许在适当注明出处的情况下免费用于商业用途。

我们免费提供 IronBarcode 的开发人员许可证。 IronBarcode 有一个独特的定价方案:Lite bundle 起价为 $999,没有额外费用。 也可以再次分发 SaaS 和 OEM 项目。 每个许可证包括永久许可证、开发/分期/生产有效性、30 天退款保证以及一年的软件支持和升级(一次性购买)。 请访问此页面查看 IronBarcode 的完整定价和许可信息。

为什么选择 IronBarcode?

IronBarcode 包括一个易于使用的 API,供开发人员在 .NET 中读写条形码,从而优化了准确性和实际使用案例中的低错误率。

例如,BarcodeWriter类将验证并纠正UPCA和UPCE条码上的'校验和'。 此外,对于太短而无法输入特定数字格式的数字,还要进行 "零填充"。 如果您的数据与指定的数据格式不兼容,IronBarcode 将通知开发者可使用更合适的条码格式。

IronBarcode 擅长在扫描条形码或从照片图像中读取条形码时读取条形码,换句话说,在图像图形不完美且不是机器生成的截图时读取条形码。

IronBarcode 与 ZXing.NET 有何不同?

IronBarcode for .NET 由 ZXing.NET (Zebra Crossing) 核心构建,处理能力有所提高。 与 ZXing.NET Core 库相比,它带有易于使用的 API,错误率较低。 不仅如此,IronBarcode 适用于 .NET 还支持比通常的 ZXing.NET 库所支持的更广泛的条形码格式。

IronBarcode 是 ZXing.NET 的改良版,为用户提供了商业使用平台,并可在多个平台上使用同一软件包。 它还提供全面的技术支持,随时准备为您提供所需的帮助。

IronBarcode 包括自动旋转、透视校正和数字噪声校正,并能检测图像中编码的条形码类型。

结论

总之,IronBarcode 是一款多功能的 .NET 软件库和 C# QR Code 生成器,可用于读取各种条形码格式,无论是截图、照片、扫描还是其他不完美的真实世界图像。

IronBarcode 是创建和识别条形码最有效的库之一。 在创建和识别 BarCode 方面,它也是最迅捷的库之一。 该库可以与不同的操作系统兼容。 它易于设计,支持多种条形码格式。 此外,还要支持各种符号、格式和字符。

ZXing.NET 条形码是一个功能强大的库,可生成和识别各种图像格式的条形码。 我们可以阅读和创建各种格式的图像。 ZXing.NET 还允许您更改条形码的外观,改变其高度、宽度、条形码文本等。

与 ZXing.NET 相比,IronBarcode 软件包提供可靠的许可和支持。 IronBarcode 费用为 $999。 虽然 ZXing 是免费开源的,但 IronBarcode 提供全面的商业支持和专业维护。 除了比 ZXing.NET 更灵活外,IronBarcode 解决方案还具有更多功能。 由此可见,IronBarcode 比 ZXing.NET 更具优势。

在比较识别和生成条形码的处理时间时,IronBarcode 优于 ZXing.NET。 IronBarcode 还具有多种特性,使我们能够从不同的图像格式和 PDF 文档中读取条形码。 它还允许我们在条形码或 QR 码内包含图像,这是其他任何库都不具备的。

IronBarcode 在开发初期是免费的。 您可以获取免费试用版,用于生产级或商业用途。 根据开发人员的要求,IronBarcode 提供三个定价等级。 您可以选择最能满足您需求的解决方案。 现在,您可以用购买两件 Iron Software 产品的价格获得五件 Iron Software 产品的套件。 请访问此网站了解更多信息。

请注意: .NET是其各自所有者的注册商标。 本网站与 ZXing.NET 无关,也未经 ZXing.NET 认可或赞助。 所有产品名称、徽标和品牌均为各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。
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 天试用密钥
无需信用卡或创建账户