使用 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 專案以開發示範應用程式。你也可以開啟現有的專案。

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

  1. 開啟 Visual Studio
  2. 點擊建立新專案
  3. 選擇範本,點擊下一步按鈕
  4. 命名專案,點擊下一步按鈕
  5. 選擇目標框架,點擊下一步按鈕
  6. 點擊建立按鈕,點擊下一步按鈕

一個新的專案將會被建立,如下所示:

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

控制台應用程式

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

安裝 IronBarcode 的 NuGet 套件

您可以使用 Package Manager Console、NuGet Package Manager Solutions 或直接從 NuGet 安裝該庫。 NuGet BarCode 套件頁面請按照以下步驟操作:

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

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

    套件管理器控制台 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 Code 的使用快速增加,本節將展示如何使用 C# 來掃描 QR Code。

二維碼

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

此演示中使用的 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
VB   C#

如上所述,相同的 Read 函數用於讀取 QR Code。這是 IronBarcode 庫提供的簡單性。因此,相同的函數和程式碼可以用於不同的影像來源。

輸出

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

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

概要

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

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

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

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

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