跳至頁尾內容
USING IRONQR
如何使用IronQR讀取QR Code

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

即時生成新型和多樣化的條碼是許多商業 .NET 應用程式的重要方面。 與其他第三方選項相比,IronBarcode程式庫使這一過程非常快速、方便和簡單。 本教程旨在說明這一點是如何實現的。

1. 建立一個新專案

開啟 Visual Studio 並進入檔案選單。 選擇 新專案,然後選擇 控制台應用程式/Windows 表單/WPF 應用程式。 條碼也可以在各類應用程式中使用。 此外,您可以將其用於如 Webform/MVC/MVC Core 等應用程式中。

C# QR Code Reader (Step by Step 教程),圖1:配置您的新專案 配置您的新專案

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

2. 安裝 IronBarcode NuGet 套件

現在轉到 Visual Studio 的 解決方案總管 並左鍵點擊專案。 從彈出選單中,選擇選單中的 NuGet 套件管理器,並將"條碼"作為關鍵字進行搜索。 在 NuGet 套件對話框中選擇第一個結果,然後點擊安裝選項。

C# QR Code Reader (Step by Step 教程),圖 2: 從 NuGet 套件管理器安裝 IronBarcode 程式庫 從 NuGet 套件管理器安裝 IronBarcode 程式庫

或者,在 Visual Studio 中遵循以下指示:轉到 工具 > NuGet 套件管理器 > 套件管理器主控台

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

Install-Package IronQR

C# QR Code Reader (Step by Step 教程),圖 3: NuGet 套件管理器主控台 NuGet 套件管理器主控台

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

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

接下來,該套件將下載所有的 DLL 檔案,並在當前專案中以 .NET 專案引用的形式新增 DLL 檔案的引用。

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

3. 新增引用

如下所示將 IronBarCode 引用新增到程式碼中,允許在 .NET Core 中使用 IronBarcode 程式庫中的功能。 如需了解更多有關條碼讀取器控制、讀取 QR code、組件、支持的 QR code 型別和條碼讀取器 SDK 相容性的資訊,請參考此連結:https://ironsoftware.com/csharp/barcode/

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

4. 建立條碼實例

BarcodeReader 是靜態類,用於讀取/建立 QR code。 可以不建立該靜態類 BarcodeReader 的任何物件實例而直接使用。 條碼讀取控制提供了使用單個功能掃描15種條碼的功能ReadReadAsync。 IronBarcode 程式庫允許從各種來源讀取 QR code/條碼:

  • 圖片
  • 位圖

5. 使用 String 讀取條碼

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

Read 功能從圖像中提取 QR code/條碼資料並將結果作為物件 BarcodeResult 返回。 如果圖像文件未被程式碼識別,則將返回空。

BarcodeResult 具有以下值:

  • 條碼型別
  • 文字
  • 二進制值

BarcodeType 是一個列舉資料型別,會返回所給輸入圖像的條碼型別。 IronBarcode 支持二十二種條碼型別。 該輸入圖像應用的條碼型別將返回。

值和文字也是在 BarcodeResult 上可用的物件型別值。 值和文字都是字串資料型別。返回條碼的字串值。 Read 方法將讀取 QR code 和條碼並獲取給定條碼圖像的字串值到值/文字中。 二進制值是字節資料型別,會返回給定圖像的字節。 下面是可以用於任何 .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 條碼讀取程式庫讀取 QR code 和條碼。 程式碼很容易使用,從系統將文件映射到位圖物件。 它還會從圖像中解碼 QR code/條碼,並在物件中顯示結果。 下面是程式碼中提供的 QR code/條碼,用於掃描各種編碼資料。

C# QR Code Reader (Step by Step 教程),圖4:條碼輸入 條碼輸入

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

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

下面是從圖像讀取多個 QR code 的範例程式碼:

// 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 QR code 圖像中提取 QR code。 .NET 條碼讀取器從系統中的圖像掃描 QR code,並將結果作為陣列返回。 在上述程式碼中,Code128 是唯一掃描的型別。 如果圖像中存在任何其他條碼,將被忽略。

7. 從 PDF 讀取 QR Code 和條碼

本部分展示如何從 PDF 文件中讀取 QR code。 QR code 程式庫將掃描所有可用頁面和文件中的所有可用 QR code,或專注於一個特定型別的條碼。 使用 IronBarcode 時,該程式庫提供所有標準條碼讀取器所需的 DLL,因此無需再包含任何其他 DLL 作為 .NET 專案引用。

以下是從 PDF 讀取 QR code/條碼的範例程式碼。

// 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 文件中讀取 QR code/條碼的範例程式碼。 它還可以為每個條碼及其型別提供詳細的結果。

結論

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

存取授權頁面以了解更多資訊。

您還可以下載zip 文件專案

常見問題

如何在C#中讀取QR Code?

您可以使用IronQR程式庫在C#中讀取QR Code,安裝IronBarcode NuGet套件在Visual Studio中,新增必要的引用,並利用BarcodeReader類別。

在Visual Studio中開始QR Code讀取專案有哪些步驟?

在Visual Studio中開始QR Code讀取專案,需要建立一個新專案,安裝IronBarcode NuGet套件,新增所需的引用,並使用BarcodeReader類別從各種來源讀取QR Code。

我可以從單個影像中讀取多個QR Code嗎?

是的,IronQR程式庫允許您使用Read方法中的選項配置來讀取單個影像中的多個QR Code。

如何在C#中從PDF文件中提取QR Code?

您可以使用IronQR程式庫中的ReadPdf方法來掃描PDF文件中的QR Code,並從每頁檢索詳細結果。

在C#中讀取QR Code有哪些自訂選項?

IronQR提供自訂選項,例如設置裁剪區域、啟用多執行緒、調整機器學習模型的準確性,以增強QR Code讀取效能。

IronQR適合商業應用嗎?

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

哪些環境支持使用IronQR讀取QR Code?

IronQR支持各種.NET環境,包括Windows Forms應用程式、移動應用程式、Web應用程式、MAUI和Blazor,使用.NET Framework或.NET Standard。

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

要了解使用IronQR的授權資訊,請存取Iron Software網站上的授權區域。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話