使用 IRONQR

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

發佈 2022年2月23日
分享:

隨需生成新的多樣化條碼是許多商業 .NET 應用程式的重要方面。 與其他第三方選項相比,IronBarcode 庫使這一操作變得既快速又方便和容易。 本教程旨在說明這一點。

1. 創建新專案

打開 Visual Studio,然後轉到「文件」選單。 選擇新專案,然後選擇控制台應用程式/Windows Forms/WPF 應用程式。 條碼也可以用於所有類型的應用程式。 此外,您可以將它們與 Webform/MVC/MVC Core 等應用程式搭配使用。

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

配置您的新專案

在 Visual Studio 的適當文本框中輸入專案名稱並選擇文件路徑。 接下來,點擊 Create 按鈕,並選擇所需的 .NET Framework。 該專案現在將為選定的應用程式生成結構。 如果您已選擇控制台應用程式,現在會開啟 program.cs 檔案,您可以在此輸入程式碼並建置/運行應用程式。

2. 安裝 IronBarcode NuGet 套件

現在進入 Visual Studio 的 方案總管,左鍵點擊專案。 從彈出選單中選擇 NuGet Package Manager,然後使用「Barcode」作為關鍵字進行搜尋。 在 NuGet 套件對話框中選擇第一個結果,然後點擊安裝選項。

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

從 NuGet 套件管理器安裝 IronBarcode 程式庫

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

打開 Package Manager Console 標籤。 請輸入以下行:

Install-Package IronQR

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

NuGet 套件管理員主控台

請訪問以下連結以瞭解有關條碼讀取器 SDK 最新版本的更多資訊。

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

接下來,套件將下載所有的 DLL 檔案,並在目前的專案中添加 DLL 檔案的引用作為 .NET 專案引用。

Visual Studio 專案現已準備好在程式碼中使用。

3. 添加參考資料

在如下所示的程式碼中添加 IronBarcode 參考,以允許在 .NET Core 中使用 IronBarcode 庫中可用的函數。 要了解更多關於條碼讀取控制、讀取QR碼、組件、對QR碼類型的支持及條碼讀取SDK的兼容性,請參考此連結:https://ironsoftware.com/csharp/barcode/

using IronBarCode;

4. 建立條碼實例

BarcodeReader是用來讀取/建立 QR 碼的靜態類別。 對於靜態類別 BarcodeReader,可以在不用創建任何物件實例的情況下使用。 條碼閱讀器控制項提供使用單一功能掃描15種類型條碼的能力。讀取ReadAsync. IronBarcode 庫可從各種來源讀取 QR 碼/條碼:

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

5. 使用String讀取條碼

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

Read 函數從圖像中提取 QR 碼/條碼數據,並將結果作為物件 BarcodeResult 檢索。 如果程式碼無法識別影像檔案,將會返回 null。

條碼結果具有以下值:

  • BarcodeType
  • 價值
  • 文本
  • 二進位值

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

    BarcodeResult 上,可用的物件類型值還包括數值和文字。 兩者的值和文字都是字串資料類型。這會返回條碼的字串值。 Read 方法將讀取 QR 碼和條碼,並將給定條碼圖像的字串值獲取為 value/text。 二進位值是位元資料類型,並返回給定影像的位元。 以下是可以複製編碼到任何 .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 碼。 QR碼庫將掃描所有可用頁面和檔案中的所有可用QR碼,或專注於一種特定類型的條碼。 使用IronBarcode時,該庫提供了所有標準條碼讀取器所需的相關DLL,因此無需將任何其他DLL作為.NET專案引用。

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

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 應用程式、行動應用程式、網頁應用程式,MAUI,和Blazor使用 .NET Framework 或 .NET Standard。 此外,IronBarcode 提供廣泛的自訂選項以提升條碼讀取速度,例如裁切區域多線程,和機器學習模型的準確性. IronBarcode 提供免費試用金鑰,或者您可以以只需兩個產品的價格購買來自 Iron Software 的五個產品。

參觀授權頁面更多資訊。

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

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

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

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