跳過到頁腳內容
與其他組件的比較

IronBarcode和Leadtools條碼之間的比較

條碼是一種機器可讀的數據視覺表示,最初通過不同長度和間距的平行線表達。 這些類型的條碼可以用稱為條碼讀取器的光學掃描儀掃描。 隨著時間的推移,2D 條碼被引入,它們使用各種形狀而不是線條,並且可以用數字相機或配備合適軟件的移動設備閱讀。 在本文中,我們將比較兩個流行的條碼庫:Leadtools BarcodeIronBarcode。 這兩個庫都支援 .NET 框架,並促進條碼圖像的生成和識別。

Leadtools Barcode

LEADTOOLS 条形码 SDK 是一个全面的开发工具包,可帮助开发人员检测、读取和生成各种类型的 1D 和 2D 条形码。 它支持多種編程語言,如 .NET Framework、.NET Core、Xamarin、UWP、C++ 類庫、C#、VB、Java 等。LEADTOOLS 提供 SOAP 和 RESTful Web 服務,以管理跨不同平台的條碼。

IronBarcode

IronBarcode for .NET 提供了一個簡單的 API 來讀取和寫入條碼和 QR 碼,適用於 .NET 應用程序。 它支持各種類型的條碼和 QR 標準,並提供圖像預處理以提高閱讀速度和準確性。 專為 .NET 項目設計,它允許以最少的代碼快速集成。

創建新項目

在 Visual Studio 中,您可以創建新的控制台/WPF/Windows 窗體應用程序以使用這些庫。 設置項目後,繼續集成您選擇的庫。

安裝 IronBarcode 庫

使用 IronBarcode

有多種方法可以下載和安裝 IronBarcode:

  • 通過 Visual Studio 或 Visual Studio 命令列
  • 從 NuGet 或 IronBarcode 網站直接下載

例如,使用 Visual Studio 命令列,您可以輸入以下命令:

Install-Package BarCode

使用 Leadtools Barcode

類似地,Leadtools Barcode 可以經由類似的方法安裝。 使用命令進行命令行安裝:

Install-Package Leadtools.Barcode

條碼生成

這兩個庫都可以輕鬆生成條碼。 以下是每個庫的示例:

使用 IronBarcode

// Create a barcode and save it as an image format
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128);
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
// Create a barcode and save it as an image format
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128);
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
' Create a barcode and save it as an image format
Dim MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128)
MyBarCode.AddAnnotationTextBelowBarcode("123456")
MyBarCode.SaveAsImage("MyBarCode.jpeg")
$vbLabelText   $csharpLabel

以上代碼使用指定的參數生成條碼對象並將其保存為圖像。

使用 Leadtools Barcode

// Create and save a barcode using Leadtools
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(
    LeadRect.Empty, 
    imageResolution, 
    imageResolution, 
    qrData, 
    qrWriteOptions
);

imageHeight = qrData.Bounds.Height;
imageWidth = qrData.Bounds.Width;

barcodeImage = new RasterImage(
    RasterMemoryFlags.Conventional, 
    imageWidth, 
    imageHeight, 
    bitsPerPixel, 
    RasterByteOrder.Rgb, 
    RasterViewPerspective.TopLeft, 
    palette, 
    IntPtr.Zero, 
    userDataLength
);

FillCommand fillCmd = new FillCommand(RasterColor.White);
fillCmd.Run(barcodeImage);

barcodeEngineInstance.Writer.WriteBarcode(
    barcodeImage, 
    qrData, 
    qrWriteOptions
);
codecs.Save(
    barcodeImage, 
    barcodeOutputStream, 
    RasterImageFormat.CcittGroup4, 
    bitsPerPixel
);
// Create and save a barcode using Leadtools
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(
    LeadRect.Empty, 
    imageResolution, 
    imageResolution, 
    qrData, 
    qrWriteOptions
);

imageHeight = qrData.Bounds.Height;
imageWidth = qrData.Bounds.Width;

barcodeImage = new RasterImage(
    RasterMemoryFlags.Conventional, 
    imageWidth, 
    imageHeight, 
    bitsPerPixel, 
    RasterByteOrder.Rgb, 
    RasterViewPerspective.TopLeft, 
    palette, 
    IntPtr.Zero, 
    userDataLength
);

FillCommand fillCmd = new FillCommand(RasterColor.White);
fillCmd.Run(barcodeImage);

barcodeEngineInstance.Writer.WriteBarcode(
    barcodeImage, 
    qrData, 
    qrWriteOptions
);
codecs.Save(
    barcodeImage, 
    barcodeOutputStream, 
    RasterImageFormat.CcittGroup4, 
    bitsPerPixel
);
' Create and save a barcode using Leadtools
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions)

imageHeight = qrData.Bounds.Height
imageWidth = qrData.Bounds.Width

barcodeImage = New RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength)

Dim fillCmd As New FillCommand(RasterColor.White)
fillCmd.Run(barcodeImage)

barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions)
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel)
$vbLabelText   $csharpLabel

此代碼段涉及生成條碼並將其保存到所需的圖像格式中。

識別條碼

這兩個庫都支持跨多種圖像格式的條碼識別。

使用 IronBarcode

BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
    Console.WriteLine(QRResult.Value);
    Console.WriteLine(QRResult.BarcodeType);
}
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{
    Console.WriteLine(QRResult.Value);
    Console.WriteLine(QRResult.BarcodeType);
}
Dim QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg")
If QRResult IsNot Nothing Then
	Console.WriteLine(QRResult.Value)
	Console.WriteLine(QRResult.BarcodeType)
End If
$vbLabelText   $csharpLabel

這會從圖像中讀取條碼並輸出其值和類型。

使用 Leadtools Barcode

using (BarCodeReader reader = new BarCodeReader(@"MyBarCode.jpg"))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("Type: " + result.CodeType);
        Console.WriteLine("CodeText: " + result.CodeText);
    }
}
using (BarCodeReader reader = new BarCodeReader(@"MyBarCode.jpg"))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("Type: " + result.CodeType);
        Console.WriteLine("CodeText: " + result.CodeText);
    }
}
Using reader As New BarCodeReader("MyBarCode.jpg")
	For Each result As BarCodeResult In reader.ReadBarCodes()
		Console.WriteLine("Type: " & result.CodeType)
		Console.WriteLine("CodeText: " & result.CodeText)
	Next result
End Using
$vbLabelText   $csharpLabel

此示例使用 BarCodeReader 從圖像文件中提取條碼數據。

許可證和定價

IronBarcode

IronBarcode 提供一系列的許可選擇,從 Lite LicenseUnlimited License,價格取決於開發者、地點和項目用途。 他們提供永久許可證,包含免費的更新和支持。

Leadtools

Leadtools 提供幾種方案,價格基於用戶需求。 他們的定價從每年 $1,295 起,適用於單一開發者許可證。

結論

Leadtools Barcode 和 IronBarcode 都是強大的條碼操作庫。 然而,IronBarcode 提供更快的處理速度、更優惠的價格,並包含額外的功能,使其特別適合讀取靜態圖像和 PDF。 我們強烈建議您使用免費試用版來確認是否適合您的需求。

輕鬆開始您的條碼掃描與創建之旅!

[{i:(Leadtools Barcode 是其各自所有者註冊的商標。 本網站與 Leadtools Barcode 沒有關連,不受其擁護或為其贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供參考,反映撰寫時公開可用的信息。

常見問題解答

IronBarcode 和 Leadtools Barcode 之間有何不同?

IronBarcode 為 .NET 應用提供簡化的 API,專注於速度和易於整合,而 Leadtools Barcode 則提供多種編程語言和跨平台網頁服務的綜合工具包。

我如何在 Visual Studio 中安裝條碼庫?

要在 Visual Studio 中安裝 IronBarcode,請使用 NuGet 套件管理器並輸入命令:PM> Install-Package Barcode。您也可以直接從 NuGet Gallery 或 IronBarcode 的官方網站下載。

我如何在 C# 中生成條碼?

您可以通過創建 BarcodeWriter 對象,設置所需的條碼類型和內容,並使用 SaveAsImage 方法將輸出保存為圖像,來在 C# 中生成條碼。

IronBarcode 有哪些授權選項可用?

IronBarcode 提供多種授權選項,包括 Lite 和 Unlimited 授權。價格根據開發人數、項目類型和地區而異,並提供包含免費更新和支持的永久授權。

Leadtools Barcode 支援多種編程語言嗎?

是的,Leadtools Barcode 支持多種語言,包括 .NET Framework、.NET Core、Xamarin、UWP、C++、C#、VB 和 Java,使其在多種開發環境中具有通用性。

Leadtools Barcode 授權的起始價格是多少?

Leadtools Barcode 授權的起始價格為每年 $1295,用於單個開發人員授權。

我如何使用 IronBarcode 讀取條碼?

要使用 IronBarcode 讀取條碼,請使用 BarcodeReader.QuicklyReadOneBarcode 方法從圖像中提取條碼數據及其類型。

為何選擇 IronBarcode 而非 Leadtools Barcode?

IronBarcode 因其更快的處理能力、實惠的價格和額外功能如閱讀靜態圖像和 PDF 而被讚譽,使其成為 .NET 項目中多用途和高效的選擇。

IronBarcode 和 Leadtools Barcode 都支持 2D 條碼嗎?

是的,這兩個庫都支持 1D 和 2D 條碼的生成和識別,為各種應用提供靈活性。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。