與其他組件比較

ZXing.org QR Code Library 和 IronBarcode:全面比較

發佈 2023年4月19日
分享:

如果您已經擁有 tech phone/admin phone 中的條碼電子圖像,並希望將其解碼為英文字串數據,條碼掃描器可能不是最佳工具。此外,條碼掃描器僅限於讀取存儲容量有限、適用范圍狹窄的 1D 條碼,支持的格式有限,並且僅能與 Windows RT 類庫一同使用。如今,2D 條碼 (也稱為 QR 碼) 更常見,並且可以存儲更多信息,比如更新日期。

條碼掃描應用程式可以在 Windows、MacOS 或 Linux 上運行,而不依賴於任何第三方工具或 API,因為它受 .NET 支持。

ZXing.org 二维码库與 IronBarcode:全面比較:圖 2 - 網頁應用程式

創建和掃描條碼已成為許多企業防止垃圾郵件的關鍵。兩個用於創建條碼的熱門工具是開源的ZXing項目解碼和 IronBarcode在本文中,我們將探討每一個這些工具的功能和優點並進行比較。

ZXing 解碼器

ZXing 是一個流行的開源庫,用於生成和解碼 1D 和 2D 條碼。

它還支持多種編程語言,包括 Java、C++ 和 .NET。

ZXing 解碼器在線工具是一個基於網頁的工具,可讓用戶掃描和解碼條碼和 QR 碼圖像。此外,用戶還可以為任何信息創建 QR 碼,通常以 URL 或他們想要編碼的文本形式。

要使用 ZXing 在線解碼器,請按照以下步驟操作:

  1. 訪問 ZXing 解碼器在線網站。

    ZXing.org QR Code 函式庫與 IronBarcode:全面對比:圖 2 - 由 Google 開發的 ZXing 網頁

  2. 點擊「選擇文件」按鈕來選擇一個 QR 碼圖像文件。

  3. 選擇圖像後,點擊「提交」按鈕。

    ZXing.org QR Code 庫與 IronBarcode: 綜合比較:圖 3 - ZXing 解碼

  4. 如果找到可识别的代碼,工具將解碼 QR Code 並顯示結果信息。

該庫易於使用,並且可以集成到網頁應用程序、移動應用程序和桌面應用程序中。

ZXing 已被廣泛採用,並且有大量的開發者社區貢獻其發展並提供支持。

該庫會收集設備信息,例如設備型號和操作系統版本,這可能被認為是潛在的安全風險。

此外,有些人對該庫的擁有權和控制權表示擔憂,因為它不是由獨立組織維護的。

總的來說,ZXing 是一個強大且多功能的條碼生成和解碼庫,有著廣泛的採用和社區支持。

例如,要使用 ZXing 生成 QR Code,開發人員只需編寫幾行代碼:


    using ZXing;
    using ZXing.QrCode;

    // Generate a QR code
    BarcodeWriter writer = new BarcodeWriter();
    writer.Format = BarcodeFormat.QR_CODE;
    Bitmap qrCode = writer.Write("Hello, ZXing!");

    using ZXing;
    using ZXing.QrCode;

    // Generate a QR code
    BarcodeWriter writer = new BarcodeWriter();
    writer.Format = BarcodeFormat.QR_CODE;
    Bitmap qrCode = writer.Write("Hello, ZXing!");
Imports ZXing
	Imports ZXing.QrCode

	' Generate a QR code
	Private writer As New BarcodeWriter()
	writer.Format = BarcodeFormat.QR_CODE
	Dim qrCode As Bitmap = writer.Write("Hello, ZXing!")
VB   C#

開發人員可以使用以下程式碼來使用ZXing專案解碼QR碼:


    using ZXing;
    using ZXing.QrCode;

    // Decode a QR code
    BarcodeReader reader = new BarcodeReader();
    Result result = reader.Decode(qrCode);
    string text = result.Text;

    using ZXing;
    using ZXing.QrCode;

    // Decode a QR code
    BarcodeReader reader = new BarcodeReader();
    Result result = reader.Decode(qrCode);
    string text = result.Text;
Imports ZXing
	Imports ZXing.QrCode

	' Decode a QR code
	Private reader As New BarcodeReader()
	Private result As Result = reader.Decode(qrCode)
	Private text As String = result.Text
VB   C#

ZXing.org QR Code Library和IronBarcode:全面比較:圖4 - 二維碼生成器

ZXing.org QR Code Library 和 IronBarcode:全面比較:圖5 - 顯示的 QR Code 檔案

介紹 IronBarcode

IronBarcode 是一個強大的條碼生成和掃描程式庫,適用於 .NET 開發人員,由 Iron Software 創建。

IronBarcode 提供一個易於使用的API,使開發人員能夠生成和掃描各種條形碼類型,包括QR碼、Data Matrix碼和UPC-A條形碼。

IronBarcode庫是由Iron Software創建的,旨在擴展功能。 ZXing.NET 圖書館。

ZXing.org QR Code Library 和 IronBarcode:綜合比較:圖6 - 支援的條碼格式

他們還添加了新功能,例如生成2D條碼、PDF417條碼以及直接從圖像文件中讀取條碼的功能。

以下是使用IronBarcode生成QR碼的示例:


    using IronBarCode;

    // Generate a QR code
    var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
    barcode.SaveAsImage("qrcode.png");

    using IronBarCode;

    // Generate a QR code
    var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
    barcode.SaveAsImage("qrcode.png");
Imports IronBarCode

	' Generate a QR code
	Private barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode)
	barcode.SaveAsImage("qrcode.png")
VB   C#

ZXing.org QR Code Library 和 IronBarcode: 全面比較: 圖 7 - QR Code

要使用 IronBarcode 掃描條碼,您可以使用以下代碼:


    using IronBarCode;

    // Scan a barcode
    var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);
    string text = barcode.Text;

    using IronBarCode;

    // Scan a barcode
    var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);
    string text = barcode.Text;
Imports IronBarCode

	' Scan a barcode
	Private barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode)
	Private text As String = barcode.Text
VB   C#

ZXing.org QR Code Library 和 IronBarcode:全面比較:圖 8 - 在 C# 中創建條碼圖片

IronBarcode 支持多種類型的條碼,包括2D條碼、UPC-A、UPC-E、EAN-8、EAN-13、Code39、Code128、PDF417等多種條碼。

這建立在……的優勢之上 ZXing.NET 函式庫,提供更快速、更準確的條碼掃描和生成,同時增加了新功能和功能性。

如何使用 IronBarcode

以下是使用 IronBarcode 的一些步驟:

步驟1:安裝IronBarcode庫

要在您的.NET專案中使用IronBarcode,首先需要通過NuGet安裝IronBarcode庫。您可以在NuGet套件管理器控制台中運行以下命令來完成此操作:


    Install-Package IronBarCode

第2步:生成條碼

要使用 IronBarcode 生成條碼,您可以使用 BarcodeWriter 類。


    using IronBarCode;

    // Generate a QR code
    var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
    barcode.SaveAsImage("qrcode.png");

    using IronBarCode;

    // Generate a QR code
    var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
    barcode.SaveAsImage("qrcode.png");
Imports IronBarCode

	' Generate a QR code
	Private barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode)
	barcode.SaveAsImage("qrcode.png")
VB   C#

此代碼生成一個包含文本"Hello, IronBarcode"的 QR 碼。!並將其保存為名為「qrcode.png」的圖像文件。

第三步:掃描條碼

要使用 IronBarcode 掃描條碼,您可以使用 BarcodeReader 類別。


    using IronBarCode;

    // Scan a QR code
    var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);
    string text = barcode.Text;

    using IronBarCode;

    // Scan a QR code
    var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);
    string text = barcode.Text;
Imports IronBarCode

	' Scan a QR code
	Private barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode)
	Private text As String = barcode.Text
VB   C#

此代碼從圖像文件 "qrcode.png" 中讀取 QR 碼,並返回條形碼中編碼的文本。

ZXing.org QR Code Library 和 IronBarcode:全面比較:圖9 - 掃描條碼

第四步:自定義條碼

IronBarcode 提供了一系列的自定義選項,允許您控制生成的條碼掃描實現的外觀和行為。

以下是一個使用 IronBarcode 自定義 QR 碼的範例 條碼掃描 實現:


    using IronBarCode;

    // Customize a QR code
    var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
    barcode.ResizeTo(400, 400);
    barcode.SetMargins(20);
    barcode.SetForegroundColor(Color.Black);
    barcode.SetBackgroundColor(Color.White);
    barcode.AddCaptionAbove("Scan me with your smartphone!");
    barcode.AddImageLogo("logo.png", 80, 80);
    barcode.SaveAsImage("qrcode.png");

    using IronBarCode;

    // Customize a QR code
    var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
    barcode.ResizeTo(400, 400);
    barcode.SetMargins(20);
    barcode.SetForegroundColor(Color.Black);
    barcode.SetBackgroundColor(Color.White);
    barcode.AddCaptionAbove("Scan me with your smartphone!");
    barcode.AddImageLogo("logo.png", 80, 80);
    barcode.SaveAsImage("qrcode.png");
Imports IronBarCode

	' Customize a QR code
	Private barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode)
	barcode.ResizeTo(400, 400)
	barcode.SetMargins(20)
	barcode.SetForegroundColor(Color.Black)
	barcode.SetBackgroundColor(Color.White)
	barcode.AddCaptionAbove("Scan me with your smartphone!")
	barcode.AddImageLogo("logo.png", 80, 80)
	barcode.SaveAsImage("qrcode.png")
VB   C#

這段代碼生成一個帶有文字“Hello, IronBarcode”的二維碼!並通過將其調整為400x400像素、添加20像素邊距、將前景色設置為黑色、背景色設置為白色、在條形碼上方添加標題以及添加徽標圖像來自訂它。

IronBarcode的功能

IronBarcode是基於開源的ZXing庫構建的,但它擴展了其功能,以支援更廣泛的條碼類型,包括QR碼、Code 128、Code 39、EAN-13、EAN-8、UPC-A等更多類型。

以下是IronBarcode的一些功能:

生成條碼

IronBarcode 可以輕鬆生成各種類型和樣式的條碼,包括線性和2D條碼,並具有可自定義的功能,如顏色、文字和影像疊加。以下代碼片段生成一個 QR Code:


    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Hello World!", IronBarCode.BarcodeWriterEncoding.QRCode);
    barcode.SaveAsJpeg("QRCode.jpg");

    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Hello World!", IronBarCode.BarcodeWriterEncoding.QRCode);
    barcode.SaveAsJpeg("QRCode.jpg");
Dim barcode = IronBarCode.BarcodeWriter.CreateBarcode("Hello World!", IronBarCode.BarcodeWriterEncoding.QRCode)
	barcode.SaveAsJpeg("QRCode.jpg")
VB   C#

ZXing.org QR Code 庫與 IronBarcode:全面比較:圖 10 - 要掃描的 Code128 條碼圖像

讀取條碼

IronBarcode 還提供了一個強大的條碼掃描器,可以從圖像、PDF 和實時相機流中讀取條碼。以下代碼從圖像檔案中讀取 QR Code:


    var barcode = IronBarCode.BarcodeReader.Read("QRCode.jpg", IronBarCode.BarcodeReaderEncoding.QRCode);
    Console.WriteLine(barcode.Text);

    var barcode = IronBarCode.BarcodeReader.Read("QRCode.jpg", IronBarCode.BarcodeReaderEncoding.QRCode);
    Console.WriteLine(barcode.Text);
Dim barcode = IronBarCode.BarcodeReader.Read("QRCode.jpg", IronBarCode.BarcodeReaderEncoding.QRCode)
	Console.WriteLine(barcode.Text)
VB   C#

ZXing.org QR Code Library 和 IronBarcode:全面比較:圖11 - 讀取存儲在 PDF 中的條碼

驗證條碼

IronBarcode 還可以驗證條碼,以確保它們是有效的,並且可以被其他條碼閱讀器掃描。以下代碼片段驗證一個 Code 128 條碼:


    var barcode = IronBarCode.BarcodeReader.Read("Code128.jpg", IronBarCode.BarcodeReaderEncoding.Code128);
    if (barcode.IsValid)
    {
        Console.WriteLine("Barcode is valid.");
    }
    else
    {
        Console.WriteLine("Barcode is invalid.");
    }

    var barcode = IronBarCode.BarcodeReader.Read("Code128.jpg", IronBarCode.BarcodeReaderEncoding.Code128);
    if (barcode.IsValid)
    {
        Console.WriteLine("Barcode is valid.");
    }
    else
    {
        Console.WriteLine("Barcode is invalid.");
    }
Dim barcode = IronBarCode.BarcodeReader.Read("Code128.jpg", IronBarCode.BarcodeReaderEncoding.Code128)
	If barcode.IsValid Then
		Console.WriteLine("Barcode is valid.")
	Else
		Console.WriteLine("Barcode is invalid.")
	End If
VB   C#

轉換條碼

IronBarcode 可以將條碼從一種格式轉換為另一種格式,例如將 Code 39 條碼轉換為 QR Code。以下程式碼片段將 Code 39 條碼轉換為 QR Code:


    var barcode = IronBarCode.BarcodeReader.Read("Code39.jpg", IronBarCode.BarcodeReaderEncoding.Code39);
    var qrCode = IronBarCode.BarcodeWriter.CreateBarcode(barcode.Text, IronBarCode.BarcodeWriterEncoding.QRCode);
    qrCode.SaveAsJpeg("QRCode.jpg");

    var barcode = IronBarCode.BarcodeReader.Read("Code39.jpg", IronBarCode.BarcodeReaderEncoding.Code39);
    var qrCode = IronBarCode.BarcodeWriter.CreateBarcode(barcode.Text, IronBarCode.BarcodeWriterEncoding.QRCode);
    qrCode.SaveAsJpeg("QRCode.jpg");
Dim barcode = IronBarCode.BarcodeReader.Read("Code39.jpg", IronBarCode.BarcodeReaderEncoding.Code39)
	Dim qrCode = IronBarCode.BarcodeWriter.CreateBarcode(barcode.Text, IronBarCode.BarcodeWriterEncoding.QRCode)
	qrCode.SaveAsJpeg("QRCode.jpg")
VB   C#

為什麼 IronBarcode 比 ZXing 解碼器更好

這裡有一些 IronBarcode 比 ZXing 更好的方式:

  1. 效能: IronBarcode 比 ZXing 更快,是需要高速條碼掃描和生成的 web 應用程式的絕佳選擇。

  2. 易用性: IronBarcode 的 API 簡單且直觀,只需幾行代碼即可創建和掃描條碼。相反,ZXing 的 API 可能對初學者來說複雜且難以使用。

  3. 輸出品質: IronBarcode 生成高品質的條碼,即便在小尺寸下也容易閱讀。相比之下,ZXing 的條碼有時需要更大尺寸才能容易閱讀。

  4. 支援格式: IronBarcode 支援多種條碼格式,包括 UPC-A、2D 條碼等。相比之下,ZXing 項目僅支援有限的幾種條碼格式。

  5. 授權: IronBarcode 提供靈活的授權模式,允許開發者免費使用這個庫或根據需要購買授權。相比之下,ZXing 的授權限制較多,使得開發者在商業項目中使用這個庫變得困難。

ZXing.org QR Code Library 與 IronBarcode:全面比較:圖12 - 從多幀 TIFF 圖像讀取條碼

IronBarcode 在性能、易用性、輸出質量、支持的格式和授權方面,比 ZXing 更加優秀。

想嘗試 IronBarcode,看看它如何提升您的條碼掃描和生成能力嗎?我們很高興提供一個 免費試用 IronBarcode 讓您測試其功能和優點。

在試用期內,您將可以全面使用 IronBarcode 的強大功能,包括支援多種條碼格式、進階的自訂選項以及與您現有專案的無縫整合。

要開始試用,只需訪問我們的網站並下載 IronBarcode 套件。然後,您將擁有 免費試用 探索 IronBarcode 所能提供的一切,親眼見證它如何簡化條碼掃描和生成的工作流程。

< 上一頁
如何在ZXing中為C#開發人員掃描條碼
下一個 >
IronBarcode與QrCoder C#的比較

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 1,203,227 查看許可證 >