與其他組件比較

IronBarcode與Dynamsoft Barcode Reader的比較

發佈 2022年5月27日
分享:

1. 介紹

條碼究竟是什麼? 條碼是由一系列長度不同的平行黑線和白色空隙組成的方形或矩形圖像,可以被掃描器讀取。 產品上附有條碼以便更容易識別。它們被用於多個地方,包括零售商店以協助購物過程、倉庫中管理庫存,以及帳單以協助會計。

您可以使用 .NET 平台來讀取和生成條形碼嗎? 是的,您可以使用 .NET 框架來創建和掃描條碼。 在本文中,我們將探討開發人員如何在 .NET 語言環境中生成和掃描條碼。 我們將討論並比較兩個開發者用來處理條碼的軟體程序。 您將需要以下工具:

  • IronBarcode
  • Dynamsoft 條碼閱讀器 SDK

2. IronBarcode

IronBarcode 是一個 .NET 庫,用於讀取和創建條形碼。 IronBarcode 是一個受歡迎的 .NET 條碼庫,可以創建多種一維和二維條碼,以及可自定義的條碼。(彩色和品牌)QR碼。 IronBarcode 讓程式設計師可以使用任何 .NET 語言。

IronBarcode 與 .NET Core 2x 和 3x、.NET Standard、.NET Framework 4x 以及 Azure 相容。 它生成後腳本輸出並使用多種標準代碼轉換文本字串。

2.1. IronBarcode 特性

2.1.1. 條碼格式

  • 二維矩陣條碼格式包括 QR Code、Aztec 和 Data Matrix .NET 的讀取和創建。
  • 現代線性條碼格式支援文本、數字和二進位數據,包括 PDF417、Code 39、Code 128 條碼生成器適用於 C#。
  • 僅支援數字代碼的較舊線性條碼格式包括 UPC-A、UPC-E、EAN-8、EAN-13、Codabar、ITF、MSI 和 Plessey。

2.1.2. 條碼讀取功能

  • IronBarcode.BarcodeReader 靜態類別 API 將條碼和 QR 碼讀取簡化為單行程式碼。
  • 支援從檔案中的Jpeg、Jpeg2000、Png、BMP、多頁Tiff和Gif影像格式讀取條碼。
  • 更高的準確性和性能。 為了提高準確性和性能,告訴讀者可以掃描一種、幾種或所有條碼格式。
  • 影像校正以讀取條碼。 若要解釋掃描和影像錯誤,請對文件應用噪點和對比度調整。

2.1.3. 條碼寫入功能

  • BarcodeWriter 和 QRCodeWriter 靜態類別用於創建容錯條碼和 QR 寫入 API。 條碼資料通常可以用兩行程式碼提取。
  • IronBarcode 允許用戶導出為圖像,導出到 HTML 頁面,並導出到 PDF 或添加到現有的 PDF。
  • QRCodeWriter 類別提供進階功能,以呈現具有高級功能的 QR 碼支援。

3. Dynamsoft 條碼讀取 SDK

開發人員使用 Dynamsoft Barcode Reader 快速將一維和二維條碼掃描集成到運行於多種平台的程式中。 它也可用作強大的 QR 碼閱讀器或2D影像器,此外還可以掃描線性條碼。

Dynamsoft 的條碼掃描 SDK 是業界最好的。 它能輕鬆應對多種情況,包括:

  • 在手機上掃描視頻直播。
  • 從高解析度的工業相機掃描靜態圖片。
  • 一種自動桌面服務,用於掃描大型照片和 PDF 文件。

3.1. Dynasoft 條碼讀取器功能

3.1.1 條碼讀取功能

  • 多執行緒中的條碼處理
  • 可以在一張圖片中讀取多個條碼。
  • 條碼可以在任何方向和旋轉角度檢測到。
  • 從模糊、失焦的照片中解碼條碼。
  • 通過預處理,從低品質照片中讀取條碼。

3.1.2. 自訂化和靈活性

使用其預設掃描設定,此 SDK 在許多典型情況下都能良好運作,但為了獲得符合您獨特業務需求的最佳效能,此 SDK 完全可調整,以便為您專門優化效能。 從廣泛的參數列表中選擇,每個參數都包含多種模式。 模式是一種特定功能,條碼讀取器可能執行該功能,每種模式可以包含多個參數,這些參數可用於進一步微調或個性化應用程式。

3.1.3. 使用影像處理

Dynamsoft Barcode Reader SDK 包含其他條碼 SDK 中未見的功能。 開發人員可以使用它從解碼過程中獲取多個數據點。 這些「中間圖片結果」包含的數據可以讓高級用戶利用,以提高效率或在其他工作流程中產生新的應用程式。 在解碼條碼的過程中,會生成許多不同類型的中介圖像輸出。

3.1.4. 從圖像和PDF解碼條碼

  • 圖像檔案類型包括 BMP、jpg、png、gif 和 Tiff。
  • 單頁和多頁 PDF。
  • DIB(設備無關位圖)從相機或掃描儀獲取的格式。
  • 一個圖像的Base64字符串編碼。
  • 圖像文件流的原始緩衝區。

3.1.5. 支援的條碼類型

Dynamsoft 條碼閱讀器 SDK 是一款可靠的條碼掃描軟體,提供各類型條碼的條碼讀取功能。

  • 線性條碼(1D)
  • 二维条码
  • GS1複合碼
  • 補丁代碼
  • Pharmacode
  • GS1 DataBar
  • 郵遞區號

4. 在 Visual Studio 中創建一個新專案

開啟 Visual Studio 軟體並進入檔案選單。 選擇「新專案」,然後選擇控制台應用程式。

輸入專案名稱並在相應的文本框中選擇路徑。 然後,點擊建立按鈕。 如以下截圖所示,選擇所需的 .NET 框架:

Onbarcode Generator Alternatives 1 related to 4. 在 Visual Studio 中創建一個新專案

Visual Studio 專案現在將為所選應用程式生成結構,如果您選擇了控制台、Windows 和 Web 應用程式,它將打開 program.cs 檔案,您可以在其中輸入程式碼並建構/運行應用程式。

Onbarcode Generator Alternatives 2 related to 4. 在 Visual Studio 中創建一個新專案

現在我們可以添加庫並測試程序。

5. 安裝 IronBarcode 程式庫

IronBarcode 庫有四種不同的下載和安裝方法。 這些是:

  • 使用 Visual Studio 的 NuGet 套件管理器
  • 使用 Visual Studio 命令行。
  • 直接從 NuGet 網頁下載。
  • 從 IronBarcode 網頁直接下載。

5.1 使用 Visual Studio NuGet 套件管理器

Visual Studio 軟體提供 NuGet Package Manager 選項,讓使用者可以將套件直接安裝到解決方案中。 以下截圖顯示如何打開 NuGet Package Manager。

Onbarcode Generator Alternatives 3 related to 5.1 使用 Visual Studio NuGet 套件管理器

它提供了搜尋框以顯示來自 NuGet 網站的可用套件庫清單。在套件管理器中,我們需要搜尋關鍵字 "IronBarCode",如下圖所示:

Onbarcode Generator Alternatives 4 related to 5.1 使用 Visual Studio NuGet 套件管理器

從上面的圖片中,我們可以看到搜索列表中的相關套件列表。我們需要選擇 IronBarcode 選項並將該套件安裝到我們的解決方案中。

5.2 使用 Visual Studio 命令列

在 Visual Studio 菜單中,前往 工具-> NuGet 套件管理員 -> 套件管理員主控台。

在套件管理器主控台標籤頁中輸入以下行:

Install-Package BarCode

現在套件將下載/安裝到當前專案並準備好使用。

Onbarcode Generator Alternatives 5 related to 5.2 使用 Visual Studio 命令列
Onbarcode Generator Alternatives 6 related to 5.2 使用 Visual Studio 命令列

5.3 從 NuGet 網站直接下載

第三種方法是直接從網站下載套件。

  • 導航到 鏈接.
  • 從右側菜單中選擇下載套件選項。
  • 雙擊下載的包。 將自動安裝。
  • 現在重新載入解決方案並開始在專案中使用它。

5.4 從 IronBarcode 網站直接下載

點擊 連結 從網站下載最新套件。下載後,按照以下步驟將套件添加到專案中。

  • 在解決方案窗口中右鍵點擊專案。
  • 然後,選擇選項參考,瀏覽下載的參考位置。
  • 然後,點擊「確定」以添加參考。

6. 安裝 Dynamsoft 條碼閱讀器

IronBarCode 庫可以使用四種不同的方式下載和安裝。 這些是:

  • 使用 Visual Studio 的 NuGet 套件管理器
  • 使用 Visual Studio 命令行。
  • 直接從 NuGet 網頁下載。
  • 直接從 Dynamsoft 網頁下載。

6.1 使用 Visual Studio NuGet 套件管理器

Dynamsoft 條碼讀取器使開發人員可以輕鬆地使用 Visual Studio NuGet 套件管理器將其工具整合到 .NET 專案中。 請按照以下步驟進行:

Dynamsoft Barcode Reader Alternatives 1 related to 6.1 使用 Visual Studio NuGet 套件管理器

它提供了一個搜索框來顯示來自NuGet網站的可用軟體包庫列表。在軟體包管理器中,我們需要搜索關鍵詞「Dynamsoft」,如下圖所示:

Dynamsoft Barcode Reader Alternatives 2 related to 6.1 使用 Visual Studio NuGet 套件管理器

在上圖中,我們可以看到來自搜尋的相關套件列表。 我們需要選擇 Dynamsoft 選項並將該套件安裝到我們的解決方案中。

6.2 使用 Visual Studio 命令列

在 Visual Studio 菜單中,依次選擇工具 -> NuGet 套件管理器 -> 套件管理器主控台

在套件管理器主控台標籤頁中輸入以下行:

Install-Package Dynamsoft.DotNet.Barcode

該套件現在將下載/安裝到當前項目並準備使用。

Dynamsoft Barcode Reader Alternatives 3 related to 6.2 使用 Visual Studio 命令列
Dynamsoft Barcode Reader Alternatives 4 related to 6.2 使用 Visual Studio 命令列

6.3 從 NuGet 網站直接下載

第三種方式是直接從網頁下載NuGet套件。

6.4 從 Dynamsoft 網站直接下載

點擊 連結 在此從網頁直接下載最新的套件。 下載後,按照以下步驟將套件添加到專案中。

  • 在解決方案窗口中右鍵點擊專案。
  • 然後,選擇選項參考並瀏覽已下載參考的位置。
  • 接下來,點擊確定以添加參考。

7. 讀取條碼

讀取條碼以獲取其中嵌入的信息是很有用的。 在本節中,我們將討論這些工具如何讀取不同的條碼。

7.1. 使用 IronBarcode 讀取條碼

條碼閱讀器是一種用於讀取條碼的腳本。 IronBarCode 命名空間的 QuicklyReadOneBarcode 函數是一個出色的工具,用於在 .NET 框架中讀取條碼。 我們可以通過選擇條碼編碼方案顯著提升速度,並且我們可以通過將 TryHarder 選項設置為 True 來強制其自動調整透視和數字噪音。

QuicklyReadAllBarcodes 技術類似,但它可以掃描多頁文件(如 PDF 和多頁 TIFF)中的多個條碼。

using IronBarCode;
using System;
using System.Drawing;
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("QR.png");
if (QRResult != null)
{
    string Value = QRResult.Value;
    Bitmap Img = QRResult.BarcodeImage;
    BarcodeEncoding BarcodeType = QRResult.BarcodeType;
    byte [] Binary = QRResult.BinaryValue;
    Console.WriteLine(QRResult.Value);
}
using IronBarCode;
using System;
using System.Drawing;
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("QR.png");
if (QRResult != null)
{
    string Value = QRResult.Value;
    Bitmap Img = QRResult.BarcodeImage;
    BarcodeEncoding BarcodeType = QRResult.BarcodeType;
    byte [] Binary = QRResult.BinaryValue;
    Console.WriteLine(QRResult.Value);
}
Imports IronBarCode
Imports System
Imports System.Drawing
Private QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("QR.png")
If QRResult IsNot Nothing Then
	Dim Value As String = QRResult.Value
	Dim Img As Bitmap = QRResult.BarcodeImage
	Dim BarcodeType As BarcodeEncoding = QRResult.BarcodeType
	Dim Binary() As Byte = QRResult.BinaryValue
	Console.WriteLine(QRResult.Value)
End If
VB   C#

7.2. 使用 Dynamsoft Barcode 讀取 Barcode

Dynamsoft 條碼讀取器提供強大的 QR 碼讀取和條碼讀取功能,使用簡單的代碼即可實現。 在這裡,我們將討論從圖像文件讀取條碼並輸出條碼格式和文本的最簡單方法。

using System;
using Dynamsoft;
using Dynamsoft.DBR;

namespace HelloWorld
{
    class Program
    {
        static void Main(string [] args)
        {
            try
            {
                // 1.Initialize license.
                EnumErrorCode errorCode = BarcodeReader.InitLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9", out string errorMsg);
                if (errorCode != EnumErrorCode.DBR_SUCCESS)
                {
                    Console.WriteLine(errorMsg);
                }

                // 2. Create an instance of Barcode Reader
                BarcodeReader dbr = new BarcodeReader();

                try
                {
                    TextResult [] results = null;

                    // 3. Read barcode from an image file
                    results = dbr.DecodeFile("../../../../images/AllSupportedBarcodeTypes.png", "");

                    if (results != null && results.Length > 0)
                    {
                        for (int i = 0; i < results.Length; ++i)
                        {
                            Console.WriteLine("Result " + (i + 1).ToString() + ":");

                            // 4. Get format of each barcode
                            if (results [i].BarcodeFormat != EnumBarcodeFormat.BF_NULL)
                                Console.WriteLine("    Barcode Format: " + results [i].BarcodeFormatString);
                            else
                                Console.WriteLine("    Barcode Format: " + results [i].BarcodeFormatString_2);

                            // 5. Get text result of each barcode
                            Console.WriteLine("    Barcode Text: " + results [i].BarcodeText);
                        }
                    }
                    else
                    {
                        Console.WriteLine("No barcode detected.");
                    }
                }
                catch (BarcodeReaderException exp)
                {
                    Console.WriteLine(exp.Message);
                }
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
            Console.WriteLine("Press any key to quit...");
            Console.ReadKey();
        }
    }
}
using System;
using Dynamsoft;
using Dynamsoft.DBR;

namespace HelloWorld
{
    class Program
    {
        static void Main(string [] args)
        {
            try
            {
                // 1.Initialize license.
                EnumErrorCode errorCode = BarcodeReader.InitLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9", out string errorMsg);
                if (errorCode != EnumErrorCode.DBR_SUCCESS)
                {
                    Console.WriteLine(errorMsg);
                }

                // 2. Create an instance of Barcode Reader
                BarcodeReader dbr = new BarcodeReader();

                try
                {
                    TextResult [] results = null;

                    // 3. Read barcode from an image file
                    results = dbr.DecodeFile("../../../../images/AllSupportedBarcodeTypes.png", "");

                    if (results != null && results.Length > 0)
                    {
                        for (int i = 0; i < results.Length; ++i)
                        {
                            Console.WriteLine("Result " + (i + 1).ToString() + ":");

                            // 4. Get format of each barcode
                            if (results [i].BarcodeFormat != EnumBarcodeFormat.BF_NULL)
                                Console.WriteLine("    Barcode Format: " + results [i].BarcodeFormatString);
                            else
                                Console.WriteLine("    Barcode Format: " + results [i].BarcodeFormatString_2);

                            // 5. Get text result of each barcode
                            Console.WriteLine("    Barcode Text: " + results [i].BarcodeText);
                        }
                    }
                    else
                    {
                        Console.WriteLine("No barcode detected.");
                    }
                }
                catch (BarcodeReaderException exp)
                {
                    Console.WriteLine(exp.Message);
                }
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
            Console.WriteLine("Press any key to quit...");
            Console.ReadKey();
        }
    }
}
Imports System
Imports Dynamsoft
Imports Dynamsoft.DBR

Namespace HelloWorld
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Try
				' 1.Initialize license.
				Dim errorMsg As String
				Dim errorCode As EnumErrorCode = BarcodeReader.InitLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9", errorMsg)
				If errorCode <> EnumErrorCode.DBR_SUCCESS Then
					Console.WriteLine(errorMsg)
				End If

				' 2. Create an instance of Barcode Reader
				Dim dbr As New BarcodeReader()

				Try
					Dim results() As TextResult = Nothing

					' 3. Read barcode from an image file
					results = dbr.DecodeFile("../../../../images/AllSupportedBarcodeTypes.png", "")

					If results IsNot Nothing AndAlso results.Length > 0 Then
						For i As Integer = 0 To results.Length - 1
							Console.WriteLine("Result " & (i + 1).ToString() & ":")

							' 4. Get format of each barcode
							If results (i).BarcodeFormat <> EnumBarcodeFormat.BF_NULL Then
								Console.WriteLine("    Barcode Format: " & results (i).BarcodeFormatString)
							Else
								Console.WriteLine("    Barcode Format: " & results (i).BarcodeFormatString_2)
							End If

							' 5. Get text result of each barcode
							Console.WriteLine("    Barcode Text: " & results (i).BarcodeText)
						Next i
					Else
						Console.WriteLine("No barcode detected.")
					End If
				Catch exp As BarcodeReaderException
					Console.WriteLine(exp.Message)
				End Try
			Catch exp As Exception
				Console.WriteLine(exp.Message)
			End Try
			Console.WriteLine("Press any key to quit...")
			Console.ReadKey()
		End Sub
	End Class
End Namespace
VB   C#

8. 授權

IronBarcode 是一個提供開發者授權的免費程式庫。 IronBarcode 也有獨特的定價結構:Lite 套組起價為 $749,沒有隱藏費用。 SaaS 和 OEM 產品的重新分發也是可能的。 所有授權均享有 30 天退款保證,一年軟體支援和升級,開發/測試/生產有效性,以及永久授權。(一次性購買). IronBarcode 也提供免費版本。 要查看 IronBarcode 的完整價格結構和授權,請前往 這裡.

Dynamsoft 條碼讀取器提供靈活的授權選擇,根據「每次條碼讀取」和「每個活動瀏覽器客戶端」進行計費。 Dynamsoft 條碼閱讀器的定價如下:

每次條碼掃描

  • 根據 SDK 在一年內成功掃描的條碼總數計費。
  • 10,000個條碼掃描套件的費用為每年1,249美元。
  • 50,000 条碼掃描包的費用為 $5,999/年。
  • 100,000 次條碼掃描套組的費用為每年 4,999 美元。

    每個活動瀏覽器客戶端

  • 計算使用條碼掃描器功能的獨特瀏覽器客戶端的總數,並相應地收費。
  • 15個瀏覽器客戶端套裝的費用為 $1,249/年。
  • 50 個瀏覽器用戶端套件的費用為 $5,999/年。
  • 100瀏覽器客戶端套裝的費用為每年$4,999。

    Dynamsoft 條碼讀取器提供卓越的授權和支援選項,以鼓勵開發人員選擇 Dynamsoft 條碼讀取器 SDK。

9. 結論

IronBarcode 是領先的 .NET 條碼庫,使程式設計師能夠讀取和創建條碼。 它支持廣泛的1維和2維條碼,以及自定義的條碼(彩色和品牌)QR碼。 IronBarcode 允許開發人員使用所有 .NET 相關語言。 IronBarcode 比其他任何 C# 條碼讀取器和生成器都更快。 它採用獨特的演算法,可以輕鬆掃描皺褶的 QR 碼,具有卓越的條碼識別準確性。 它還提供一個強大的QR碼閱讀器,只需幾行程式碼即可讀取任何類型的條碼和QR碼。 IronBarcode 在從模糊圖像中讀取條碼方面表現出色,並提供技術支持以提供終身協助。

Dynamsoft 條碼閱讀器 SDK 在同時掃描多個條碼方面也比競爭對手更具優勢。 它具有不同的使用場景,例如用於 Android 行動應用程式、Linux 桌面、Linux 行動應用程式和 iPhone 行動應用程式的條碼讀取功能,並支援多個瀏覽器。 它還有助於掃描低品質圖像中的條碼。 它提供嵌入式條碼讀取功能,只需幾行程式碼即可在您的網頁、桌面或行動應用程式中使用。 Dynamsoft 條碼閱讀器滿足了開發人員對自定義掃描器分辨率設置的需求,提供及時和有用的回應,以及實現一維和二維條碼的解碼。 只要授權仍然有效,Dynamsoft 條碼讀取器支援團隊就會提供支援。 它還提供嵌入式條碼讀取功能,能夠高準確度掃描低品質影像。

IronBarcode 的定價結構相較於 Dynamsoft 的授權選項來說相對較低,可能正是 Dynamsoft 條碼讀取器的成本使得用戶不那麼想採用。 Dynamsoft 的費用結構是基於計數的,這意味著它取決於在單次購買軟體時橫跨不同平台(如 Windows 桌面和 Mac 桌面)掃描了多少條碼。 另一方面,IronBarcode 提供一次性購買,無需持續費用,而 Dynamsoft 條碼閱讀器的定價則基於年度購買。

在比較 IronBarcode 和 Dynamsoft 條碼閱讀器後,我們可以得出結論:IronBarcode 不僅提供條碼閱讀功能,還涵蓋條碼生成的功能,而且價格較低。Dynamsoft 條碼閱讀器在閱讀方面提供更多功能,而 IronBarcode 則提供各類型的條碼相關服務。 在 .NET 程式設計中,IronBarcode 提供所有功能只需幾行代碼,而這是其競爭對手無法提供的。除此之外,Iron Software 目前以兩款軟體的價格提供其所有五款軟體工具。 工具如下:

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebScraper

    請訪問此鏈接以探索 IronSuite.

< 上一頁
IronBarcode 和 OnBarcode 之間的比較

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

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