跳過到頁腳內容
使用 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 的更多資訊。

NuGet

接下來,該程式包將下載所有 DLL 文件,並將 DLL 文件的引用添加到當前專案中,作為.NET專案引用。

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

3. 新增參考文獻

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

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

4. 建立條碼實例

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

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

5. 使用 String 讀取條碼

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

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

BarcodeResult具有以下值:

條碼類型

  • 價值
  • 文字
  • 二進位值

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

Value 和 text 也是 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");
}
$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);
$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);
}
$vbLabelText   $csharpLabel

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

結論

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

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

您也可以下載zip 檔案專案

常見問題解答

如何在 C# 中讀取 QR 代碼?

您可以使用 IronQR 庫通過在 Visual Studio 中安裝 IronBarcode NuGet 包、添加必要的引用,以及利用 BarcodeReader 類來讀取 C# 中的 QR 代碼。

開始在 Visual Studio 中進行 QR 代碼閱讀項目的步驟是什麼?

要在 Visual Studio 中開始 QR 代碼閱讀項目,創建一個新項目,安裝 IronBarcode NuGet 包,添加所需的引用,並使用 BarcodeReader 類從各種來源讀取 QR 代碼。

我可以從單個圖像中讀取多個 QR 代碼嗎?

是的,IronQR 庫允許您使用配置選項的 Read 方法從單個圖像中讀取多個 QR 代碼。

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

您可以使用 IronQR 庫中的 ReadPdf 方法掃描 PDF 文件中的 QR 代碼,並從每個頁面檢索詳細結果。

C# 中可用的 QR 代碼閱讀自訂選項有哪些?

IronQR 提供自訂選項,例如設置裁剪區域、啟用多執行緒及調整機器學習模型的準確度,以提高 QR 代碼閱讀性能。

IronQR 適合商業應用嗎?

是的,IronQR 專為商業 .NET 應用程序設計,提供可靠且高效的 QR 代碼閱讀功能。

支持 IronQR 進行 QR 代碼閱讀的環境有哪些?

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

我可以在哪裡找到使用 IronQR 的許可信息?

有關使用 IronQR 的許可信息,請訪問 Iron Software 網站上的許可區。

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

鋼鐵支援團隊

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