跳過到頁腳內容
使用 IRONQR
如何使用 IronQR 讀取 QR 碼

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

按需產生各種新條碼是許多商業 .NET 應用程式的關鍵方面。 與其他第三方選項相比,IronBarcode 程式庫使這項操作變得非常快速、方便且容易。 本教程旨在闡述背後的原因。

1. 建立新項目

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

C# 二維碼閱讀器(逐步教學),圖 1:設定您的新項目 配置您的新項目

在 Visual Studio 的對應文字方塊中輸入專案名稱並選擇檔案路徑。 接下來,按一下"建立"按鈕,並選擇所需的 .NET Framework。 專案現在將為選定的應用程式產生結構。 如果您選擇了控制台應用程序,它將打開program.cs文件,您可以在其中輸入代碼並建立/運行應用程式。

2. 安裝 IronBarcode NuGet 套件

現在開啟 Visual Studio 中的解決方案資源管理器,然後按一下專案。 從彈出式選單中選擇NuGet 套件管理器,然後搜尋關鍵字"條碼"。 在 NuGet 套件對話方塊中選擇第一個結果,然後按一下安裝選項。

C# 二維碼閱讀器(逐步教學),圖 2:從 NuGet 套件管理器安裝 IronBarcode 庫 從 NuGet 套件管理器安裝 IronBarcode 庫

或者,在 Visual Studio 中依照下列說明操作:前往"工具" > "NuGet 套件管理員" > "套件管理員控制台"。

開啟程式包管理器控制台標籤。 輸入以下代碼:

Install-Package IronQR

C# 二維碼閱讀器(逐步教學),圖 3:NuGet 套件管理器控制台 NuGet 套件管理器控制台

請訪問以下鏈接,以了解有關最新版本條碼閱讀器 SDK 的更多資訊。

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

接下來,程式套件將下載所有 DLL 文件,並將 DLL 文件的參考新增到目前專案中,作為 .NET 專案引用。

現在可以使用程式碼執行 Visual Studio 專案了。

3. 新增參考文獻

如下所示,將IronBarCode引用加入到程式碼中,從而可以使用 .NET Core 中 IronBarcode 庫中提供的函數。 要了解有關條碼閱讀器控制項、讀取二維碼、組件、二維碼類型支援以及條碼閱讀器 SDK 相容性的更多信息,請參閱此連結: https://ironsoftware.com/csharp/barcode/

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

4. 建立條碼實例

BarcodeReader是用於讀取/建立二維碼的靜態類別。 無需為靜態類別BarcodeReader建立任何物件實例即可使用它。 條碼讀取器控制項能夠使用單一功能ReadReadAsync掃描 15 種類型的條碼。 IronBarcode庫能夠讀取來自各種來源的二維碼/條碼:

  • 細繩
  • 溪流
  • 影像
  • 點陣圖

5. 使用String讀取條碼

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

Read函數從影像中提取二維碼/條碼數據,並將結果作為BarcodeResult物件檢索。 如果程式碼無法辨識圖像文件,則傳回 null。

BarcodeResult具有以下值:

條碼類型

  • 價值
  • 文字
  • 二進位值

BarcodeType是一個枚舉資料類型,它傳回給定輸入影像的條碼類型。 IronBarcode 支援 22 種條碼類型。 它將返回應用於給定輸入圖像的條碼類型。

值和文字也是BarcodeResult上可用的物件類型值。 value 和 text 都是字串資料類型。這將傳回條碼的字串值。 Read方法將讀取二維碼和條碼,並將給定條碼圖像的字串值取得到 value/text 中。 二進位值為位元組資料類型,傳回給定影像的位元組。 下面這段快速回應程式碼可用於任何 .NET Windows Forms 或 .NET Standard 應用程式。

// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
' Read a barcode from an image file
Dim result As BarcodeResult = BarcodeReader.Read("test.bmp")
' Check if the result is not null and matches the expected text
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success")
End If
$vbLabelText   $csharpLabel

以上程式碼示範如何使用 .NET 條碼讀取器函式庫讀取二維碼和條碼。 這段程式碼使用起來很簡單,它將系統中的檔案映射到 Bitmap 物件。 它還可以解碼影像中的二維碼/條碼,並將結果顯示在物體上。 以下是代碼中提供的二維碼/條碼,用於掃描以獲取編碼資料。

C# 二維碼閱讀器(逐步教學),圖 4:條碼輸入 條碼輸入

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

.NET 條碼讀取器控制允許使用相同的Read方法從映像檔讀取多個 QR 碼/條碼,使用起來非常方便。

以下是讀取影像中多個二維碼的範例程式碼:

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

// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure barcode reader options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
' Configure barcode reader options
Dim options As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.Code128,
	.ExpectMultipleBarcodes = True
}

' Read multiple barcodes from a TIFF image
Dim multiFrameResults() As BarcodeResult = BarcodeReader.Read("Multiframe.tiff", options)
$vbLabelText   $csharpLabel

在上述程式碼中,二維碼是從 TIFF 二維碼影像中擷取出來的。 .NET 條碼閱讀器掃描系統中的影像中的二維碼,並將結果傳回為陣列。 在上述代碼中,僅掃描了Code128條碼類型。 如果圖像上存在其他條碼,則將被忽略。

7. 從PDF讀取二維碼和條碼

本節示範如何從 PDF 文件中讀取二維碼。 二維碼庫將掃描所有可用的頁面和文件,尋找所有可用的二維碼,或專注於特定類型的條碼。 使用 IronBarcode 時,該程式庫提供了標準條碼閱讀器所需的所有相關 DLL,因此無需將任何其他 DLL 作為 .NET 專案參考包含進來。

以下是可用於從 PDF 讀取二維碼/條碼的範例程式碼。

// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
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);
}
// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
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);
}
' Read barcodes from each page of a PDF document
Dim pagedResults() As PagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Process results for each page
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
$vbLabelText   $csharpLabel

以上是使用簡單的ReadPdf方法從 PDF 檔案中讀取二維碼/條碼的範例程式碼。 它還可以提供每個條碼及其類型的詳細結果。

結論

.NET 條碼閱讀器提供了一種簡單易用的方法,可以透過簡單的步驟讀取二維碼或解碼/建立二維碼和條碼。 IronBarcode DLL 可用於各種環境,例如使用 .NET Framework 或 .NET Standard 的 .NET Windows Forms 應用程式、行動應用程式、Web 應用程式、 MAUIBlazor 。 此外,IronBarcode 還提供各種自訂選項來提高條碼讀取速度,例如裁剪區域或多線程,以及提高 ML 模型的準確性。 IronBarcode 提供免費試用金鑰,或者您現在可以以兩件產品的價格購買 Iron Software 的五件產品。

請造訪許可頁面以了解更多資訊。

您也可以下載zip 檔案專案

常見問題解答

如何在 C# 中讀取 QR 碼?

您可以在 Visual Studio 中安裝 IronBarcode NuGet 套件,加入必要的引用,並利用 BarcodeReader 類,使用 IronQR 函式庫在 C# 中讀取 QR 碼。

在 Visual Studio 中啟動 QR 碼讀取專案的步驟為何?

要在 Visual Studio 中啟動 QR 代碼讀取專案,請建立新專案、安裝 IronBarcode NuGet 套件、新增所需的參考資料,並使用 BarcodeReader 類讀取來自各種來源的 QR 代碼。

我可以用 C# 從單一影像讀取多個 QR 碼嗎?

是的,IronQR 函式庫允許您使用 Read 方法從單一影像讀取多個 QR 代碼,並可設定多個代碼的選項。

如何使用 C# 從 PDF 文件中提取 QR 代碼?

您可以使用 IronQR 函式庫中的 ReadPdf 方法掃描 PDF 文件中的 QR 代碼,並擷取每頁的詳細結果。

C# 中的 QR 碼讀取有哪些自訂選項?

IronQR 提供自訂選項,例如設定裁切區域、啟用多執行緒,以及調整機器學習模型的精確度,以提升 QR 碼的讀取效能。

IronQR 適合商業應用嗎?

是的,IronQR 專為商業 .NET 應用程式所設計,提供可靠且有效率的 QR 碼讀取功能。

哪些環境支援 IronQR 讀取 QR 碼?

IronQR 支援各種 .NET 環境,包括使用 .NET Framework 或 .NET Standard 的 Windows 表單應用程式、行動應用程式、Web 應用程式、MAUI 和 Blazor。

在哪裡可以找到使用 IronQR 的授權資訊?

有關使用 IronQR 的授權資訊,請造訪 Iron Software 網站的授權部分。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。