使用 IRONQR

C# QR碼讀取器(逐步教學)

發佈 2022年2月23日
分享:

即時生成新的和多樣的條碼是許多商業 .NET 應用程序的一個關鍵方面。與其他第三方選項相比,IronBarcode 庫使這一過程變得非常快速、方便和簡單。本教程旨在說明這一點。

1. 創建新專案

打開 Visual Studio,然後前往檔案選單。選擇 新專案,然後選擇 主控台應用程式/Windows Forms/WPF 應用程式。條碼也可以用於各種類型的應用程式。此外,您還可以將它們與 Webform/MVC/MVC Core 等應用程式一起使用。

C# QR Code閱讀器(逐步教程),圖1:配置您的新項目

配置您的新專案

在Visual Studio中的適當文字框中輸入專案名稱並選擇文件路徑。接下來,點擊建立按鈕,然後選擇所需的 .NET Framework。專案將生成所選應用程式的結構。如果您選擇了控制台應用程式,它將會開啟program.cs文件,您可以在其中輸入代碼並構建/運行應用程式。

2. 安裝 IronBarcode NuGet 套件

現在,前往 Visual Studio 的 方案總管,左鍵點擊專案。從彈出選單中選擇 NuGet 套件管理員,並使用“Barcode”作為關鍵字進行搜索。在 NuGet 套件對話框中選擇第一個結果並點擊安裝選項。

C# QR Code Reader(步驟教學),圖 2:從 NuGet 套件管理器安裝 IronBarcode 庫

從 NuGet 套件管理器安裝 IronBarcode 庫

或者,在 Visual Studio 中按照以下指示操作: 前往 工具 > NuGet 套件管理器 > 套件管理器主控台

打開 套件管理器主控台 標籤。輸入以下行:

Install-Package IronQR

C# QR代碼讀取器(一步步教學),圖3:NuGet套件管理控制台

NuGet 套件管理控制台

請訪問以下鏈接,了解有關條碼讀取 SDK 最新版本的更多信息。

https://www.nuget.org/packages/barcode

接下來,該套件將會下載所有的 DLL 檔案,並把 DLL 檔案的引用新增到目前的專案中,作為 .NET 專案引用。

Visual Studio 專案現在可以在程式碼中使用。

3. 添加參考

IronBarcode 參考添加到代碼中,如下所示,允許使用 IronBarcode 庫在 .NET Core 中可用的功能。要了解有關條碼讀取控制、閱讀 QR 碼、元件、QR 碼類型的支援以及條碼讀取 SDK 的兼容性,請參閱此連結: https://ironsoftware.com/csharp/barcode/

using IronBarcode;

4. 創建條碼實例

BarcodeReader 是一個靜態類別,用於讀取/創建 QR 碼。可以在不創建任何 BarcodeReader 靜態類別的對象實例的情況下使用。條碼閱讀器控件提供了一個功能,能夠掃描15種類型的條碼。 讀取ReadAsyncIronBarcode 函式庫可以從各種來源讀取 QR 碼/條碼:

  • 字串
  • 資料流
  • 圖像
  • 位圖

5. 使用 String 讀取條碼

可以使用 .NET 條碼讀取庫輕鬆讀取 QR 碼和條碼圖像。Read 方法是一個靜態函數,它將掃描 QR 碼圖像並將 QR 碼和條碼解碼為文本。它接受各種類型的圖像文件,如位圖、PNG 文件、JPEG、TIFF 等。

Read 函數從圖像中提取 QR 碼/條碼數據,並作為對象 BarcodeResult 返回結果。如果代碼不能識別圖像文件,它將返回 null。

條碼結果 具有以下值:

  • BarcodeType
  • Value
  • Text
  • Binary value

BarcodeType 是一個枚舉類型,並返回給定輸入圖像的條碼類型。IronBarcode 支持二十二種條碼類型。它將返回應用於給定輸入圖像的條碼類型。

Value 和 text 也是 BarcodeResult 上可用的對象類型值。Value 和 text 都是字串數據類型。它返回條碼的字符串值。Read 方法將讀取 QR 碼和條碼並將給定條碼圖像的字符串值讀取到 value/text 中。Binary value 是字節數據類型並返回給定圖像的字節。以下是快速響應代碼,可複製到任何 .NET Windows Forms 或 .NET Standard 應用程序中。

BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
Dim result As BarcodeResult = BarcodeReader.Read("test.bmp")
' Assert that IronBarCode Works :-)
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success")
End If
VB   C#

以上程式碼展示了如何使用 .NET 條碼閱讀器庫來讀取 QR 碼和條碼。這段程式碼非常易於使用,將系統中的文件映射到 Bitmap 物件。它還從圖片中解碼 QR 碼/條碼,並在物件中顯示結果。以下是程式碼中提供的 QR 碼/條碼,用於掃描編碼數據。

C# QR Code 讀取器(逐步教程),圖 4:條碼輸入

條碼輸入

6. 從 TIFF 圖像中讀取多個條碼

.NET 條碼讀取控制項允許使用相同的 Read 方法從圖像文件中讀取多個 QR 碼/條碼,非常易於使用。

以下是從圖像中讀取多個 QR 碼的示例代碼:

// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
' Configure options
Dim options As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.Code128,
	.ExpectMultipleBarcodes = True
}

Dim multiFrameResults() As BarcodeResult = BarcodeReader.Read("Multiframe.tiff", options)
VB   C#

在上面的代碼中,QR碼是從TIFF QR碼圖像中提取的。.NET條碼讀取器從系統中的圖像掃描QR碼並將結果作為數組返回。在上面的代碼中,條碼為 Code128 是唯一被掃描的類型。如果圖片上存在其他條碼,它們將被忽略。

7. 從 PDF 讀取 QR Code 和條形碼

本節將展示如何從 PDF 文件中讀取 QR code。QR code 函式庫將掃描所有可用的頁面和文件中所有可用的 QR codes,或專注於一種具體類型的條形碼。使用 IronBarcode 時,函式庫提供了標準條形碼讀取器所需的所有相關 DLL,因此無需將其他 DLL 包含作為 .NET 專案參考。

以下是可用於從 PDF 中讀取 QR codes/條形碼的範例代碼。

PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte [] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte [] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
Dim pagedResults() As PagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results
For Each pageRes As PagedBarcodeResult In pagedResults
	Dim pageNumber As Integer = pageRes.PageNumber
	Dim value As String = pageRes.Value
	Dim img As Bitmap = pageRes.BarcodeImage
	Dim barcodeType As BarcodeEncoding = pageRes.BarcodeType
	Dim binary() As Byte = pageRes.BinaryValue
	Console.WriteLine(pageRes.Value)
Next pageRes
VB   C#

以上是從PDF文件中讀取QR碼/條碼的簡單範例代碼 ReadPdf 方法。它還可以提供每個條碼及其類型的詳細結果。

結論

.NET 條碼讀取器提供了一個簡單且方便的方法來讀取 QR 碼或通過簡單的步驟解碼/創建 QR 碼和條碼。IronBarcode DLL 可用於各種環境,如 .NET Windows Forms 應用程式、移動應用程式、Web 應用程式, MAUI,和 Blazor 使用 .NET Framework 或 .NET Standard。此外,IronBarcode 提供了廣泛的自訂選項,以提高條碼讀取速度,例如 裁切區域多線程,和 機器學習模型的準確性IronBarcode 提供免費試用金鑰,或者您現在可以以兩個產品的價格購買 Iron Software 的五個產品。

訪問 授權頁面 欲了解更多信息。

您還可以下載一個 zip 文件專案.

< 上一頁
如何在 VB .NET 中創建 QR 碼

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

免費 NuGet 下載 總下載次數: 17,050 查看許可證 >