在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
條碼是一種機器可讀的數據視覺表示。 條碼最初通過改變平行線的長度和間距來表示數據。 這些線性或一維(1D)條碼可以使用稱為條碼掃描器的特殊光學掃描器進行掃描,這些掃描器有各種類型。後來,二維(2D)使用矩形、點、六邊形和其他圖案的變體被開發出來並稱為矩陣碼,儘管它們不使用條形。 專門設計的二維光學掃描器有多種配置,可以讀取二維條碼。 連接到微型電腦的數位相機可以拍攝條碼的照片,同時運行掃描二维條碼的軟體—該軟體會通過分析影像來解構和解碼條碼。 使用專用應用軟體,內建相機的行動裝置(例如智慧型手機)可以作為這種類型的二维條碼掃描器。
在本文中,我們將比較兩個流行的條碼庫。
Aspose.Barcode
IronBarcode
這兩個庫都可以用於生成和識別條碼。 支援所有 .NET 框架,且條碼圖像可以輕鬆儲存。
Aspose.BarCode for .NET 是一款精密的工具,能讓您從各種圖片來源以任何角度創建和識別一維和二維條碼。 開發人員可以輕鬆地將條碼創建和掃描功能添加到 .NET 應用程序中。 它還允許將已創建的條碼導出為多種高品質圖片格式,並且提供用於創建新條碼和從多角度識別舊條碼的 API。 支援超過 60 種不同的一維、二維和郵政條碼符號。
Aspose.BarCode for .NET 允許您更改背景顏色、條形碼顏色、旋轉角度、X-維度、圖像質量、解析度、標題、尺寸等,以創建條形碼。 該 API 也支持各種識別和成像功能,以及各種條碼標誌。
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 功能如下:
打開 Visual Studio,進入「檔案」選單,然後選擇「新專案」並選擇主控台應用程式/Windows Forms/WPF 應用程式。 條碼也可以用於所有類型的應用程式。 您還可以使用 Webform/MVC/MVC Core 等應用程式。
在相應的文字框中輸入專案名稱並選擇文件路徑。 然後,點擊創建按鈕並選擇所需的 .NET Framework。 該專案現在將生成所選應用程式的結構,如果您選擇了主控台應用程式,將會開啟 program.cs 檔案,您可以在此輸入程式碼並構建/執行應用程式。
IronBarcode 库可以通过四种方式下载和安装。
這些是:
Visual Studio 軟體提供 NuGet 套件管理器選項,以直接將套件安裝至解決方案。 以下截圖顯示如何打開 NuGet Package Manager。
它提供了一個搜尋框來顯示來自 NuGet 網站的套件列表。在套件管理器中,我們需要搜尋關鍵字 "Barcode",如下圖所示:
從上圖中,我們將獲得相關搜尋結果的清單。 我們需要選擇所需選項將套件安裝到解決方案中。
在 Visual Studio 中,轉到 工具-> NuGet 套件管理員 -> 套件管理員主控台
在控制台標籤中輸入以下行:
Install-Package BarCode
該套件現在將下載/安裝到當前項目,並準備使用。
第三種方法是直接從網站下載套件。
點擊連結 "https://ironsoftware.com/csharp/barcode/packages/IronBarCode.zip" 在此從網站直接下載最新的套件。下載後,按照以下步驟將套件添加到項目中。
Aspose.BarCode 庫可以通過四種方式下載和安裝。
這些是:
此方法類似於上面所述的針對IronBarcode的方法。 我們唯一需要改變的是搜尋條件,如下圖所示。
選擇第一個選項,將下載Aspose.Barcode庫。
在 Visual Studio 中,轉到 工具-> NuGet 套件管理員 -> 套件管理員主控台
在套件管理器控制台標籤中輸入以下行。
Install-Package Aspose.BarCode
該套件現在將下載/安裝到當前項目,並準備使用。
第三種方法是直接從網站下載套件。
只需點擊 這裡 並且它將重定向到 NuGet 網站,您可以在那裡下載套件。
點擊 連結 在此點擊,將會重定向到套件版本列表,我們可以選擇所需的版本進行下載。 下載後,請按照以下步驟將套件添加到專案中。
使用 IronBarcode 和 Aspose.Barcode 可以輕鬆完成條碼生成。 讓我們用一個例子來看看這個問題。
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")
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")
上述範例顯示我們可以通過在 QRcode 中嵌入圖像來生成條碼。 CreateQrCodeWithLogo 是一個可以讓我們執行此任務的功能。 我們也在使用 ChangeBarCodeColor 函數,這將幫助我們更改條形碼/QR 碼的顏色。 IronBarcode 中的這些功能可以協助創建商業用途的自訂條碼。
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)
上述程式碼顯示,BarcodeGenerator 是一個類別,通過創建物件,我們可以生成條碼。 我們需要傳遞兩個參數; 一個是條碼類型,另一個是我們需要創建條碼的條碼字串。 它將被轉換為一個BarcodeGenerator對象。
條碼生成物件提供了一個名為 save 的函數,允許我們將生成的條碼以 JPEG 格式儲存為圖像,參見以下程式碼片段。 我們不僅能以 jpeg 格式儲存,還能儲存為不同的條碼屬性,如 Jpeg、tiff 等。
可以使用單獨的函數調整條形的高度和寬度。 條碼生成器物件有一個值可以設置:"Parameters.Barcode.XDimension.Millimeters",這允許我們指定線的高度和寬度。
結果:
上圖是這些庫的效能比較。 時間以毫秒計算。
IronBarcode 和 Aspose.Barcodes 讓我們能夠從不同的圖像格式中識別條碼,以及其所屬的類型。 我們來詳細看看。
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
以上描述了我們正在使用一個名為 BarcodeReader 的類,它具有不同的屬性。 其中一個屬性是 QuicklyReadOneBarcode,它幫助我們從圖像格式中讀取條碼。 它也幫助我們將它們轉換為 BarcodeResult 物件。 該物件使我們能夠從圖像中獲取條碼的值和我們正在讀取的條碼類型。
BarcodeResult包含以下值:
二進位值
提供的輸入圖像中條碼的類型由BarcodeType返回,這是一種枚舉數據類型。 IronBarcode 支援共二十二種條碼格式。 提供輸入圖像時所應用的條碼類型將會返回。
BarcodeResult 中可用的物件類型值還有數值和文字。 字串資料類型包括數值和文字。 這些會返回條碼的字串值。 QuicklyReadOneBarcode 讀取 QR 碼或條碼,並將圖像的字符串值轉換為值/文本。 二進位值是 byte 資料類型,並返回圖像的 byte。 快速回應代碼如下所示,可以貼入任何 .NET Windows Forms 或 .NET Standard 應用程式中。
在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
上面的程式碼顯示我們正在從 jpeg 格式讀取條碼。 BarcodeReader 是一個類別,用於通過將影像路徑作為參數來幫助我們讀取條形碼影像。 一旦我們傳遞了圖片路徑,它就會將圖片轉換為Barcode Reader物件。 然後,我們可以使用該物件從圖像中獲取值。
BarcodeReader 物件具有一個名為 ReadBarCodes 的功能。(). 這將幫助我們獲取圖像中所有可用的代碼。 使用「for 迴圈」,我們可以逐一獲取影像並將它們保存在 BarCodeResult 物件中。 透過該物件,我們可以讀取條碼的值和類型。 這使我們能夠一次讀取多個條碼。
IronBarcode 是最強大的庫之一,可幫助我們生成和識別條碼。 這也是生成和識別條碼最快的庫之一。 該函式庫支援多種操作系統。 它支持多種條碼格式且易於創建。 我們可以更改顏色、行高、寬度、條碼文字等。授權細節可以在找到 這裡.
Aspose.BarCode 也是一個強大的庫,用於生成和讀取不同影像格式的條碼。 我們可以使用各種圖像格式進行讀取和創建。 Aspose 也提供了選項,讓我們可以更改條碼的外觀,例如高度、寬度、條碼文字等。我們可以找到許可證詳細信息。 這裡.
IronBarcode 確實相較於 Aspose.Barcode 擁有多項優勢。 當我們比較條碼識別和生成的處理時間時,IronBarcode 比 Aspose.Barcode 更快。 IronBarcode 也具有各種屬性,這些屬性不僅允許從不同的圖像格式讀取條碼,還可以從 PDF 文件中讀取條碼。 我們還可以在條碼和 QR 碼內添加圖像,這是其他函式庫所沒有的功能。