使用 IRONBARCODE

C# 條碼掃描器逐步教程

已更新 2024年2月7日
分享:

本教程將展示如何使用第三方庫創建條碼掃描器。 有多個庫可用於此目的,但有些是付費的,有些提供的功能較少,有些則難以實施。 要找到一個免費、高效且易於實施的全面實用的庫是一項具有挑戰性的任務。

出於這個原因,我們將使用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 專案

首先,建立一個 Visual Studio 專案以開發示範應用程式。您也可以打開一個現有的專案。

按照以下步驟創建一個新的控制台應用程式專案以專注於核心功能。 相同的程式碼可以在 Web API、MVC、Web Forms 或 Windows Forms 應用程式中實現。

  1. 打開 Visual Studio

  2. 點擊建立新專案

  3. 選擇範本,然後點擊下一步按鈕

  4. 命名專案,然後點擊下一步按鈕

  5. 選擇目標框架,然後點擊 下一步 按鈕

  6. 點擊建立按鈕,點擊下一步按鈕

    將會創建一個新專案,如下所示:

    C# 條碼掃描器逐步教程,圖1:控制台應用程序

    控制台應用程式

    下一步是安裝IronBarcode NuGet 套件使用其功能。

安裝 IronBarcode 的 NuGet 套件

您可以使用套件管理器控制台、NuGet 套件管理方案或直接從中安裝該庫。NuGet BarCode 套件頁面.

請按照以下步驟進行:

  1. 點擊 工具 > NuGet 套件管理器 > 套件管理控制台

    C# 條碼掃描器步驟指南,圖 2:套件管理器主控台 UI

    套件管理器控制台介面

  2. 編寫以下命令
Install-Package BarCode

套件將被安裝。

現在讓我們寫一段用於掃描條碼圖像的程式碼。

從圖像文件掃描條碼

添加以下命名空间

using IronBarCode;
using IronBarCode;
Imports IronBarCode
VB   C#

接下來在主函式內撰寫以下程式碼以從影像中讀取條碼資料。

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)
VB   C#

BarcodeReader類別提供一個讀取將檔案路徑作為參數的函數。 此函數讀取圖像並返回條碼數據。 此方法從 BMP、PNG 讀取條碼,GIF、TIFF,或 JPG,提供針對開發人員控制的細緻設定,以在性能與準確性之間取得平衡,從而滿足特定用例的需求。

該路徑包含應用程式將掃描的條碼圖像。

條碼圖像

C# 條碼掃描器逐步教程,圖 3:此控制台應用程式中使用的條碼圖像

此控制台應用程式中使用的條碼圖像

讓我們讀取此條碼圖像,以查看此程式是否產生正確結果。

輸出

C# 條碼掃描器分步教程,圖 4:運行應用程式時的控制台輸出

執行應用程式時的控制台輸出

可以看出,程式已產生準確的輸出。

從 PDF 掃描條碼

在許多情況下,需要從 PDF 發票中掃描條碼。在此示例中,我們將從以下發票中掃描條碼。

PDF文檔

C# 條碼掃描器逐步教程,圖 5: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
VB   C#

BarcodeReader 類別提供了ReadPdf接受文件路徑作為參數的函數。 此功能會在 PDF 文件中尋找條碼圖像,掃描整個條碼,並以陣列的形式返回其數據。 此功能從文件中嵌入的每張圖像中讀取條碼。

使用 foreach 迴圈在控制台中列印條碼的數據。

輸出

發票號碼印在控制台上。

C# 條碼掃描器逐步教程,圖6:控制台輸出顯示發票編號

控制台輸出顯示發票號碼

從多個文件掃描條碼

此範例將演示如何同時從圖像文件中掃描多個條碼。

條碼圖片

C# 條碼掃描器分步教學,圖 7:下面範例中使用的條碼圖像

範例中使用的條碼圖像

考慮以下程式碼片段,這些片段使用多執行緒讀取多個條碼並掃描它們的結果。

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
VB   C#

首先,建立一個清單來保存所有條碼圖像的文件路徑。 接下來,該ReadAsync 函數被調用,它接受一個List<string>將type` 作為參數並返回數據。 此方法並行讀取多個圖像中的條碼。 多個執行緒將啟動並自動管理,以提升批量條碼讀取任務的效能。

掃描 QR Code

QR碼的使用正在迅速增加。 因此,本節將展示如何使用C#掃描QR碼。

QR碼

C# 條碼掃描器逐步教程,圖 8:用於此演示的 QR 碼

此演示中使用的 QR Code

請考慮以下代碼範例:

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
VB   C#

與上述討論的相同 Read 函數用於讀取 QR Code。 這就是IronBarcode函式庫所提供的簡便性。 以便相同的功能和代碼可用於不同的圖像來源。

輸出

C# 條碼掃描器逐步教程, 圖9: QR碼讀取器的控制台輸出

QR 代碼讀取器的控制台輸出

摘要

本教程演示了一種非常簡單的方法,從單張圖片中掃描條碼、從PDF文件中掃描條碼,以及並行掃描多張圖片和多個文件中的條碼。 我們已經使用相同的函數實現不同的功能。 它同時提供了性能和可用性。IronBarcode 提供生成條碼和 QR 碼的功能,具有不同的配置. 有許多功能無法在同一篇文章中討論。 請點擊文檔頁面進一步探索IronBarcode。

IronBarcode 是 Iron Software Suite 的一部分。這個套件包含其他非常有用的函式庫,例如 IronPDF 用於讀取和寫入 PDF 文件,IronXL 用於操作 Excel 文件,IronOCR 用於從圖像中讀取文本,IronWebScraper 用於從不同網站提取數據。 您可以購買完整的Iron Suite僅需兩個單獨程式庫的價格。

< 上一頁
如何為連結製作 QR 碼 (C# 教學)
下一個 >
.NET QR Code 生成器(代碼範例教程)

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

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