與其他組件比較

IronBarcode與Aspose.Barcode之間的比較

喬迪·巴迪亞
喬迪·巴迪亞
2022年4月27日
分享:

介紹

條碼是一種機器可讀的數據視覺表示。 條碼最初通過改變平行線的長度和間距來表示數據。 這些線性或一維(1D)條碼可以使用稱為條碼掃描器的特殊光學掃描儀進行掃描,條碼掃描器有多種類型。後來,使用矩形、圓點、六邊形和其他圖案的二維(2D)變體被開發出來,稱為矩陣碼,儘管它們不使用條狀圖。 專門設計的二維光學掃描器有多種配置,可以讀取二維條碼。 連接到微型電腦的數位相機可以拍攝條碼的照片,同時運行掃描二维條碼的軟體—該軟體會通過分析影像來解構和解碼條碼。 使用專用應用軟體,內建相機的行動裝置(例如智慧型手機)可以作為這種類型的二维條碼掃描器。

在本文中,我們將比較兩個流行的條碼庫。

  • Aspose.Barcode
  • IronBarcode

    這兩個庫都可以用於生成和識別條碼。 支援所有 .NET 框架,且條碼圖像可以輕鬆儲存。

功能

Aspose.Barcode

Aspose.BarCode for .NET 是一款精密的工具,能讓您從各種圖片來源以任何角度創建和識別一維和二維條碼。 開發人員可以輕鬆地將條碼創建和掃描功能添加到 .NET 應用程序中。 它還允許將已創建的條碼導出為多種高品質圖片格式,並且提供用於創建新條碼和從多角度識別舊條碼的 API。 支援超過 60 種不同的一維、二維和郵政條碼符號。

Aspose.BarCode for .NET 允許您更改背景顏色、條形碼顏色、旋轉角度、X-維度、圖像質量、解析度、標題、尺寸等,以創建條形碼。 該 API 也支持各種識別和成像功能,以及各種條碼標誌。

  • Aspose 允許我們只需幾行程式碼即可生成和識別 40 多種條碼符號。
  • 在任何角度讀取條碼。
  • 輕鬆將條碼標籤列印至實體或虛擬印表機。
  • 支援校驗和條碼補充數據。
  • Code128 編碼已經改善。
  • 設定將掃描條碼的影像區域。
  • 創建依賴於設備解析度的圖像。
  • 識別格式和圖像:JPEG、TIFF、PNG、BMP、GIF、EXIF 將條碼標籤保存為圖像:EMF、SVG 平台獨立性、2D和郵政條碼。

IronBarcode

IronBarcode for .NET 允許程式設計師在 .NET 應用程式和網站中讀取和寫入條碼和 QR 碼。 IronBarcode 只需要一行程式碼即可讀取或寫入條碼。 大多數條碼和 QR 標準可以使用 .NET 條碼庫進行讀取和寫入。 Code 39/93/128、UPC A/E、EAN 8/13、ITF、RSS 14 / Expanded、Databar、CodaBar、Aztec、Data Matrix、MaxiCode、PDF417、MSI、Plessey、USPS 和 QR 是一些最常見的類型。 條碼結果數據包括類型、文本、二進位資料、頁面和圖片文件。 IronBarcode 的 API 功能如下:

  • IronBarcode 能讀取和寫入大多數條碼類型和 QR 標準,包括 UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar、CodaB。
  • ar、QR、Styled QR、Data Matrix、MaxiCode、PDF417、Plessey 和 Aztec。 結果提供的條碼數據、類型、頁面、文本和條碼圖片非常適合用於歸檔或索引系統。
  • 圖像預處理提高讀取速度和準確性 — IronBarcode 自動預處理條碼圖片以提高讀取速度和準確性。 它可以讀取掃描或即時視頻幀,並校正旋轉、噪音、失真和傾斜。 批處理伺服器應用程序可以利用多個核心和執行緒。 自動在單頁和多頁文件中找出一個或多個條碼。 無需使用複雜的 API,您可以搜尋特定的條碼類型或文件位置。
  • 專為 .NET 專案設計 — 只需幾行程式碼即可在幾分鐘內啟動並運行。 專為 .NET Framework 打造,作為單個 DLL 並且沒有依賴性; 支持 32 位和 64 位,可用于任何 .NET 和 .NET Core 語言。 支援在網頁、雲端、桌面和控制台應用程式中的行動設備和桌面設備。
  • 為各種文件格式創建條碼和 QR 碼——以多種文件和流格式保存和打印到文件或流中,包括 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML。 顏色、質量、旋轉、大小和文本都可以更改。

1. 創建新專案

打開 Visual Studio,進入「檔案」選單,然後選擇「新專案」並選擇主控台應用程式/Windows Forms/WPF 應用程式。 條碼也可以用於所有類型的應用程式。 您還可以使用 Webform/MVC/MVC Core 等應用程式。

Aspose Barcode Generator Alternative 1 related to 1. 創建新專案

在相應的文字框中輸入專案名稱並選擇文件路徑。 然後,點擊創建按鈕並選擇所需的 .NET Framework。 該專案現在將生成所選應用程式的結構,如果您選擇了主控台應用程式,將會開啟 program.cs 檔案,您可以在此輸入程式碼並構建/執行應用程式。

Aspose Barcode Generator Alternative 1 related to 1. 創建新專案

2. 安裝條碼庫

2.1 使用 IronBarcode

IronBarcode 库可以通过四种方式下载和安装。

這些是:

  • 使用 Visual Studio
  • 使用 Visual Studio 命令行。
  • 從 NuGet 網站直接下載。
  • 直接從 IronBarcode 網站下載。

2.1.1 使用 Visual Studio

Visual Studio 軟體提供 NuGet 套件管理器選項,以直接將套件安裝至解決方案。 以下截圖顯示如何打開 NuGet Package Manager。

Aspose Barcode Generator Alternative 1 related to 2.1.1 使用 Visual Studio

它提供了一個搜尋框來顯示來自 NuGet 網站的套件列表。在套件管理器中,我們需要搜尋關鍵字 "Barcode",如下圖所示:

Aspose Barcode Generator Alternative 4 related to 2.1.1 使用 Visual Studio

從上圖中,我們將獲得相關搜尋結果的清單。 我們需要選擇所需選項將套件安裝到解決方案中。

2.1.2 使用 Visual Studio 命令列

在 Visual Studio 中,轉到 工具 -> NuGet 套件管理員 -> 套件管理員主控台

在控制台標籤中輸入以下行:

Install-Package BarCode

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

2.1.3 從 NuGet 網站直接下載

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

  • 導航至[鏈接](https://www.nuget.org/packages/barcode" target="_blank" rel="nofollow)
  • 從右側菜單中選擇下載套件選項。
  • 雙擊下載的包。 將自動安裝。
  • 接下來,重新載入解決方案並開始在專案中使用它。

2.1.4 從 IronBarcode 網站直接下載

點擊此連結 "[https://ironsoftware.com/csharp/barcode/packages/IronBarCode.zip"](https://ironsoftware.com/csharp/barcode/packages/IronBarCode.zip" target="_blank) 從網站直接下載最新的套件。下載後,按照下列步驟將套件添加到專案中。

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

2.2 使用 Aspose.BarCode

Aspose.BarCode 庫可以通過四種方式下載和安裝。

這些是:

  • 使用 Visual Studio
  • 使用 Visual Studio 命令行。
  • 從 NuGet 網站直接下載。
  • 直接從 IronBarcode 網站下載。

2.2.1 使用 Visual Studio

此方法類似於上面所述的針對IronBarcode的方法。 我們唯一需要改變的是搜尋條件,如下圖所示。

Aspose Barcode Generator Alternative 4 related to 2.2.1 使用 Visual Studio

選擇第一個選項,將下載Aspose.Barcode庫。

2.2.2 使用 Visual Studio 命令列

在 Visual Studio 中,請依次前往 工具 > NuGet 套件管理員 > 套件管理員主控台

在套件管理器控制台標籤中輸入以下行。

Install-Package Aspose.BarCode

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

2.2.3 從NuGet網站直接下載

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

只需點擊[此處](https://www.nuget.org/packages/Aspose.BarCode/" target="_blank" rel="nofollow),它將重定向到NuGet網站,您可以在那裡下載該套件。

2.2.4 從 Aspose 網站直接下載

點擊[此鏈接](https://downloads.aspose.com/barcode/net" target="_blank" rel="nofollow),將重定向至包版本列表,我們可以選擇所需的版本進行下載。 下載後,請按照以下步驟將套件添加到專案中。

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

3. 條碼生成

使用 IronBarcode 和 Aspose.Barcode 可以輕鬆完成條碼生成。 讓我們用一個例子來看看這個問題。

3.1 使用 IronBarcode

IronBarcode 可用於創建可以以多種圖像格式儲存的條碼標籤。 我們也可以傳遞我們需要生成的條碼類型。 以下是生成條碼的程式碼片段:

var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128) 
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128) 
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
Dim MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128) MyBarCode.AddAnnotationTextBelowBarcode("123456")
MyBarCode.SaveAsImage("MyBarCode.jpeg")
$vbLabelText   $csharpLabel

BarcodeWriter.createBarcode 是一個在 IronBarcode 命名空間中可用的靜態類別。 我們需要在建立條碼功能中傳遞兩個字符串值作為參數,以便轉換和指定條碼類型。我們也可以使用 CreateBarcode 功能指定條形高度和寬度,但這是可選的,並非生成條碼所必需。

發送參數後,它將返回條碼對象,該對象將進一步返回不同的條碼屬性,我們可以利用這些屬性來新增如上述範例代碼的屬性。 AddAnnotationTextBelowBarcode 是允許我們在條碼標籤下方或上方添加文字的屬性之一。 如果需要,我們也可以隱藏條碼文本。 在上述代碼中,ipeg 生成器有助於將條碼保存為 jpeg 圖像格式。

除了圖像格式,我們還可以將條碼匯出為 HTML 格式。 我們生成了不同類型的圖像以保存為不同的圖像格式。 此外,我們能夠從給定的條碼圖像中讀取多個條碼。

var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png",500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png",500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
Dim QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png",500)
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
QRWithLogo.SaveAsJpeg("Logoqr.jpeg")
$vbLabelText   $csharpLabel

上述範例顯示我們可以通過在 QRcode 中嵌入圖像來生成條碼。 CreateQrCodeWithLogo 是一個可以讓我們執行此任務的功能。 我們也在使用 ChangeBarCodeColor 函數,這將幫助我們更改條形碼/QR 碼的顏色。 IronBarcode 中的這些功能可以協助創建商業用途的自訂條碼。

3.2 使用 Aspose.Barcode

Aspose.BarCode 可用於條碼生成。 我們可以生成不同類型的條碼。以下代碼片段可用於創建條碼:

BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "123456");
generator.Save("output.jpg", BarCodeImageFormat.Jpeg);
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "123456");
generator.Save("output.jpg", BarCodeImageFormat.Jpeg);
Dim generator As New BarcodeGenerator(EncodeTypes.Code128, "123456")
generator.Save("output.jpg", BarCodeImageFormat.Jpeg)
$vbLabelText   $csharpLabel

上述程式碼顯示,BarcodeGenerator 是一個類別,通過創建物件,我們可以生成條碼。 我們需要傳遞兩個參數; 一個是條碼類型,另一個是我們需要創建條碼的條碼字串。 它將被轉換為一個BarcodeGenerator對象。

條碼生成物件提供了一個名為 save 的函數,允許我們將生成的條碼以 JPEG 格式儲存為圖像,參見以下程式碼片段。 我們不僅能以 jpeg 格式儲存,還能儲存為不同的條碼屬性,如 Jpeg、tiff 等。

可以使用單獨的函數調整條形的高度和寬度。 條碼生成器物件有一個值可以設置:"Parameters.Barcode.XDimension.Millimeters",這允許我們指定線的高度和寬度。

結果:

Aspose Barcode Generator Alternative 8 related to 3.2 使用 Aspose.Barcode

上圖是這些庫的效能比較。 時間以毫秒計算。

4 識別條碼

IronBarcode 和 Aspose.Barcodes 讓我們能夠從不同的圖像格式中識別條碼,以及其所屬的類型。 我們來詳細看看。

4.1 使用 IronBarcode

IronBarcode 幫助從不同的圖像格式中讀取條碼,並可以用三種方式定義:作為字串、作為流或作為圖像,如 jpeg、tiff、Bitmap 等。以下範例是使用字串方法從圖像中讀取條碼。

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

以上描述了我們正在使用一個名為 BarcodeReader 的類,它具有不同的屬性。 其中一個屬性是 QuicklyReadOneBarcode,它幫助我們從圖像格式中讀取條碼。 它也幫助我們將它們轉換為 BarcodeResult 物件。 該物件使我們能夠從圖像中獲取條碼的值和我們正在讀取的條碼類型。

BarcodeResult包含以下值:

  • 條碼類型
  • 價值
  • 文本
  • 二進位值

    提供的輸入圖像中條碼的類型由BarcodeType返回,這是一種枚舉數據類型。 IronBarcode 支援共二十二種條碼格式。 提供輸入圖像時所應用的條碼類型將會返回。

    BarcodeResult 中可用的物件類型值還有數值和文字。 字串資料類型包括數值和文字。 這些會返回條碼的字串值。 QuicklyReadOneBarcode 讀取 QR 碼或條碼,並將圖像的字符串值轉換為值/文本。 二進位值是 byte 資料類型,並返回圖像的 byte。 快速回應代碼如下所示,可以貼入任何 .NET Windows Forms 或 .NET Standard 應用程式中。

4.2 使用 Aspose.Barcode

在BarCode for .NET 中的條碼識別來源可以通過三種方式定義:作為圖像文件、數據流或位圖。BMP、PNG、JPEG、GIF 和 TIFF 是五種可用於從文件中讀取條碼的圖片格式。 還提供了三種不同模式的實施細節。 以下是使用字串方法的示例。

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

上面的程式碼顯示我們正在從 jpeg 格式讀取條碼。 BarcodeReader 是一個類別,用於通過將影像路徑作為參數來幫助我們讀取條形碼影像。 一旦我們傳遞了圖片路徑,它就會將圖片轉換為Barcode Reader物件。 然後,我們可以使用該物件從圖像中獲取值。

BarcodeReader 物件有一個名為 ReadBarCodes() 的函數。 這將幫助我們獲取圖像中所有可用的代碼。 使用「for 迴圈」,我們可以逐一獲取影像並將它們保存在 BarCodeResult 物件中。 透過該物件,我們可以讀取條碼的值和類型。 這使我們能夠一次讀取多個條碼。

5. 結論

IronBarcode 是最強大的庫之一,可幫助我們生成和識別條碼。 這也是生成和識別條碼最快的庫之一。 該函式庫支援多種操作系統。 它支持多種條碼格式且易於創建。 我們可以更改顏色、行高、寬度、條碼文字等。授權詳情可以在[這裡](/csharp/barcode/licensing/" target="_blank)找到。

Aspose.BarCode 也是一個強大的庫,用於生成和讀取不同影像格式的條碼。 我們可以使用各種圖像格式進行讀取和創建。 Aspose 也提供了一個選項,讓我們可以更改條碼的外觀,例如高度、寬度、條碼文字等。我們可以在[這裡](https://purchase.aspose.com/pricing/barcode/net" target="_blank" rel="nofollow)找到授權的詳細信息。

IronBarcode 確實相較於 Aspose.Barcode 擁有多項優勢。 當我們比較條碼識別和生成的處理時間時,IronBarcode 比 Aspose.Barcode 更快。 IronBarcode 也具有各種屬性,這些屬性不僅允許從不同的圖像格式讀取條碼,還可以從 PDF 文件中讀取條碼。 我們還可以在條碼和 QR 碼內添加圖像,這是其他函式庫所沒有的功能。

喬迪·巴迪亞
軟體工程師
Jordi 最擅長 Python、C# 和 C++,當他不在 Iron Software 發揮技能時,他會進行遊戲編程。他負責產品測試、產品開發和研究,為持續產品改進增添了巨大的價值。多樣化的經驗使他感到挑戰和投入,他說這是與 Iron Software 合作的最喜歡的方面之一。Jordi 在佛羅里達州邁阿密長大,並在佛羅里達大學學習計算機科學和統計學。
< 上一頁
IronBarcode 與 ZXing.NET 的比較
下一個 >
IronBarcode與Spire Barcode的比較