在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
本教程將展示如何在第三方庫的幫助下創建條碼掃描器。為此目的,有多個庫可供選擇,但有些是付費的,有些提供的功能較少,有些則難以實現。找到一個既免費、高效,又易於實現的全面且有用的庫是一項具有挑戰性的任務。
因此,我們將使用 IronBarcode,因為它是開發 .NET 條碼掃描器的最佳選擇。它還具有開發免費、高效和易於實施的附加優點。IronBarcode 允許開發人員在 .NET 應用程式和網站內讀取和寫入條碼和 QR 碼。使用這個庫讀取或寫入條碼只需要一行代碼。
.NET 條碼庫讀取和寫入大多數條碼和 QR 碼標準。支持的條碼類型包括 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。條碼結果數據包括類型、文本、二進制數據、頁面和圖像文件。
條碼寫入 API 檢查並驗證格式、長度、數字和校驗和,自動避免編碼錯誤。 條碼寫入器允許樣式設置, 調整大小、邊距、邊框、更改顏色以及添加文字註解。條碼編寫器可以寫入包括 BMP、PNG、GIF、TIFF 和 JPG 在內的圖像文件。它還可以寫入 PDF 或 HTML 文件讓我們創建我們的條碼掃描器來更好地理解它。
首先,建立一個 Visual Studio 專案以開發示範應用程式。你也可以開啟現有的專案。
按照以下步驟來建立一個新的控制台應用程式專案,以專注於核心功能。相同的代碼也可以在網頁 API、MVC、Web Forms 或 Windows Forms 應用程式中實現。
一個新的專案將會被建立,如下所示:
控制台應用程式
下一步是安裝 IronBarcode NuGet 套件 使用其功能。
您可以使用 Package Manager Console、NuGet Package Manager Solutions 或直接從 NuGet 安裝該庫。 NuGet BarCode 套件頁面請按照以下步驟操作:
點擊 工具 > NuGet 套件管理員 > 套件管理器主控台。
套件管理器控制台 UI
Install-Package BarCode
套件將被安裝。
現在讓我們編寫一段程式碼來掃描條碼影像。
添加以下命名空間
using IronBarCode;
using IronBarCode;
Imports IronBarCode
接下來在主函式內撰寫以下程式碼以從影像中讀取條碼資料。
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")
Console.WriteLine(myBarcode)
這 BarcodeReader
類別提供一個 讀取
函式接受檔案路徑作為參數。此函式讀取圖像並返回條碼數據。此方法從BMP、PNG读取條碼, GIF、TIFF或JPG,提供顆粒化設置供開發人員控制,以平衡特定使用情況中的性能和準確度。
路徑包含應用程式將掃描的以下條碼圖像。
在此控制台應用程序中使用的條碼圖像
讓我們讀取這個條碼圖像,看看這個程序是否產生正確的結果。
運行應用程式的控制台輸出
可以看出程式已生成準確的輸出。
有許多情況下需要從 PDF 發票中掃描條碼。在此範例中,我們將從以下發票中掃描條碼。
PDF格式的發票
請考慮以下程式碼片段,用以從PDF文件中掃描條形碼:
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
Console.WriteLine(barcodeData.Value);
}
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
Console.WriteLine(barcodeData.Value);
}
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")
For Each barcodeData In myBarcode
Console.WriteLine(barcodeData.Value)
Next barcodeData
BarcodeReader
類別提供了 ReadPdf
該函數將文件路徑作為參數。此函數在PDF文件中查找條碼圖像,掃描整個條碼,並以數組的形式返回其數據。此函數從文檔中嵌入的每個圖像讀取條碼。
foreach
循環用來在控制台中打印條碼數據。
發票號碼已在控制台上打印。
控制台輸出顯示發票號碼
此範例將演示如何同時從圖像文件掃描多個條碼。
以下範例中使用的條碼圖像
請考慮以下程式碼片段,這些片段使用多執行緒讀取多個條碼並掃描其結果。
List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults = BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
string barcodeValue = result.Text;
}
List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults = BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
string barcodeValue = result.Text;
}
Dim barcodeList As New List(Of String)()
barcodeList.Add("D:\Barcode Images\barcode1.jpg")
barcodeList.Add("D:\Barcode Images\barcode2.jpg")
barcodeList.Add("D:\Barcode Images\barcode3.jpg")
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)
' Work with the results
For Each result In batchResults
Dim barcodeValue As String = result.Text
Next result
首先,創建一個列表來保存所有條形碼圖像的文件路徑。接著, ReadAsync
函數被調用,它接受一個List<string>
type作為參數並返回數據。此方法並行讀取多張圖片中的條碼。多個線程將啟動並自動管理,以提高批量條碼讀取任務的性能。
隨著 QR Code 的使用快速增加,本節將展示如何使用 C# 來掃描 QR Code。
此演示中使用的 QR 碼
請參考以下程式碼範例:
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
Console.WriteLine(result.Text);
}
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
Console.WriteLine(result.Text);
}
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")
For Each result In qrCodeResult
Console.WriteLine(result.Text)
Next result
如上所述,相同的 Read
函數用於讀取 QR Code。這是 IronBarcode 庫提供的簡單性。因此,相同的函數和程式碼可以用於不同的影像來源。
QR代碼讀碼器的控制台輸出
本教程展示了一種非常簡單的方法,從單一圖像掃描條碼、從 PDF 文件掃描條碼,以及並行掃描多個圖像和多個文件中的條碼。我們使用了相同的函數來實現不同的功能。它同時提供了性能和可用性。IronBarcode 提供了生成條碼和 QR 碼的功能。 不同的配置. 有許多功能在同一篇文章中無法討論。請點擊 文檔頁面 進一步探索 IronBarcode。
IronBarcode 是 Iron Software 套件的一部分。該套件包含其他非常有用的庫,如 IronPDF 用於讀取和寫入 PDF 文件,IronXL 用於操作 Excel 文件,IronOCR 用於從圖像讀取文本,以及 IronWebScraper 用於從不同網站提取數據。您可以購買完整套件。 Iron Suite 僅需兩個單獨程式庫的價格。