C# QR 碼讀取器(逐步教程)
按需產生各種新條碼是許多商業 .NET 應用程式的關鍵方面。 與其他第三方選項相比,IronBarcode 程式庫使這項操作變得非常快速、方便且容易。 本教程旨在闡述背後的原因。
C# 二維碼閱讀器教學
- 下載並安裝 C# 二維碼閱讀器庫
- 安裝 NuGet 包 BarCode
- 在代碼中添加引用
- 為靜態類別
BarcodeReader建立物件實例 - 使用字串讀取條碼
- 從圖像中讀取多個條碼
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
4. 建立條碼實例
BarcodeReader是用於讀取/建立二維碼的靜態類別。 無需為靜態類別建立任何物件實例即可使用它 BarcodeReader。 條碼閱讀器控制能夠使用單一功能掃描 15 種類型的條碼Read或ReadAsync 。 IronBarcode庫能夠讀取來自各種來源的二維碼/條碼:
- 細繩
- 溪流
- 影像
- 點陣圖
5. 使用 String 讀取條碼
使用 .NET 條碼讀取器庫可以輕鬆讀取二維碼和條碼影像。 Read 方法是一個靜態函數,它將掃描二維碼圖像並將二維碼和條碼解碼為文字。 它接受各種類型的圖像文件,如點陣圖、PNG 文件、JPEG、TIFF 等。
此函數從影像中提取二維碼/條碼數據,並將結果作為物件檢索。 如果程式碼無法辨識圖像文件,則傳回 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");
}
' 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
以上程式碼示範如何使用 .NET 條碼讀取器函式庫讀取二維碼和條碼。 這段程式碼使用起來很簡單,它將系統中的檔案映射到 Bitmap 物件。 它還可以解碼影像中的二維碼/條碼,並將結果顯示在物體上。 以下是代碼中提供的二維碼/條碼,用於掃描以獲取編碼資料。
6. 從 TIFF 影像中讀取多個條碼
.NET 條碼讀取器控制允許使用相同的方法從映像檔讀取多個 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)
在上述程式碼中,二維碼是從 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
以上是使用簡單方法從 PDF 檔案中讀取二維碼/條碼的範例程式碼。 它還可以提供每個條碼及其類型的詳細結果。
結論
.NET 條碼閱讀器提供了一種簡單易用的方法,可以透過簡單的步驟讀取二維碼或解碼/建立二維碼和條碼。 IronBarcode DLL 可用於各種環境,例如使用 .NET Framework 或 .NET Standard 的 .NET Windows Forms 應用程式、行動應用程式、Web 應用程式、 MAUI和Blazor 。 此外,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 網站上的許可區。




