與其他組件比較

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

發佈 2023年4月19日
分享:

如果您已經在技術電話/管理電話中擁有條碼的電子圖像,並且希望將其解碼為英語文本數據,條碼掃描器可能不是最佳工具。 此外,條碼掃描器僅限於讀取儲存容量受限的1-D條碼,這些條碼有其領域狀態、支持的格式,且只能與Windows RT類別庫一起使用。 現今,二維條碼(也稱為 QR 碼)更常見,且能儲存顯著更多的資訊,如更新日期。

一個條碼掃描應用程式可以在 Windows、MacOS 或 Linux 上運行,並且不依賴任何第三方工具或 API,因為它由 .NET 支援。

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

創建和掃描條形碼已成為許多企業避免垃圾郵件的必要手段。 生成條碼的兩個受歡迎工具是開源的ZXing專案解碼和IronBarcode. 在本文中,我們將探索這些工具的功能和優勢並進行比較。

ZXing 解码器

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

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

ZXing Decoder Online 是一個基於網絡的工具,它可以讓用戶掃描和解碼條碼和 QR 碼圖像。 此外,使用者可以為任何資訊建立 QR 碼,通常是他們想要編碼的 URL 或文字。

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

  1. 訪問ZXing Decoder Online網站。

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

  2. 按一下「選擇檔案」按鈕來選取 QR Code 圖像檔案。

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

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

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

    該庫易於使用,並且可以集成到 Web 應用程式、行動應用程式和桌面應用程式中。

    ZXing 已被廣泛採用,並擁有一個大型的開發者社群,為其開發貢獻力量並提供支持。

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

    此外,有些人對於該程式庫的所有權和控制權表示擔憂,因為它並非由獨立的組織維護。

    總體而言,ZXing 是一個功能強大且多用途的條碼生成和解碼庫,擁有廣泛的採用和社群支持。

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


    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」的圖像文件。

步驟 3:掃描條碼

要使用 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 - 掃描條碼

步驟 4:自定義條碼

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可以輕鬆生成各種類型和樣式的條碼,包括線性條碼和二維條碼,並具有可自定義的功能,如顏色、文字和圖像疊加。 以下代碼片段生成 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 碼:


    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 Decoder Online

以下是 IronBarcode 比 ZXing 更優越的一些方式:

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

  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.11 剛剛發布

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