Przejdź do treści stopki
KORZYSTANIE Z IRONQR
Jak odczytać kod QR używając IronQR

Czytnik kodów QR C# (Samouczek krok po kroku)

Generowanie nowych i zróżnicowanych BarCodes na żądanie jest kluczowym aspektem wielu komercyjnych aplikacji .NET. Biblioteka IronBarcode sprawia, że jest to bardzo szybkie, wygodne i łatwe w porównaniu z innymi opcjami oferowanymi przez innych dostawców. Ten samouczek ma na celu zilustrowanie, w jaki sposób to osiągnąć.

1. Tworzenie nowego projektu

Otwórz program Visual Studio i przejdź do menu Plik. Wybierz opcję Nowy projekt, a następnie wybierz Aplikacja konsolowa/Windows Forms/Aplikacja WPF. BarCODE może być również wykorzystywany we wszystkich rodzajach aplikacji. Ponadto można z nich korzystać w aplikacjach takich jak Webform/MVC/MVC Core.

Czytnik kodów QR w języku C# (samouczek krok po kroku), rysunek 1: Skonfiguruj nowy projekt Skonfiguruj nowy projekt

Wpisz nazwę projektu i wybierz ścieżkę do pliku w odpowiednim polu tekstowym w programie Visual Studio. Następnie kliknij przycisk Utwórz i wybierz wymagańy .NET Framework. Projekt wygeneruje teraz strukturę dla wybranej aplikacji. Jeśli wybrałeś aplikację konsolową, otworzy się teraz plik program.cs, w którym możesz wprowadzić kod oraz skompilować i uruchomić aplikację.

2. Zainstaluj pakiet NuGet IronBarcode

Teraz przejdź do okna Solution Explorer w programie Visual Studio i kliknij lewym przyciskiem myszy projekt. Z menu podręcznego wybierz opcję NuGet Package Manager i wyszukaj słowo kluczowe "BARCODE". Wybierz pierwszy wynik w oknie dialogowym NuGet Package i kliknij opcję instalacji.

Czytnik kodów QR w języku C# (samouczek krok po kroku), rysunek 2: Zainstaluj bibliotekę IronBarcode z menedżera pakietów NuGet Zainstaluj bibliotekę IronBarcode z menedżera pakietów NuGet

Alternatywnie, w programie Visual Studio postępuj zgodnie z poniższymi instrukcjami: Przejdź do menu Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów

Otwórz kartę Konsola menedżera pakietów. Wpisz poniższy wiersz:

Install-Package IronQR

Czytnik kodów QR w języku C# (samouczek krok po kroku), rysunek 3: Konsola menedżera pakietów NuGet Konsola menedżera pakietów NuGet

Kliknij poniższy link, aby dowiedzieć się więcej o najnowszej wersji BarCode Reader SDK.

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

Następnie pakiet pobierze wszystkie pliki DLL, a także doda odwołanie do pliku DLL w bieżącym projekcie jako odwołanie projektu .NET.

Projekt Visual Studio jest teraz gotowy do użycia z kodem.

3. Dodawanie odniesień

Dodaj odniesienie IronBarCode do kodu, jak pokazano poniżej, co umożliwi korzystanie z funkcji dostępnych w bibliotece IronBarcode w .NET Core. Aby dowiedzieć się więcej o kontrolce czytnika kodów kreskowych, odczytywaniu kodów QR, komponentach, obsłudze typów kodów QR oraz kompatybilności zestawu SDK czytnika kodów kreskowych, proszę zapoznać się z tym linkiem: https://ironsoftware.com/csharp/barcode/

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

4. Tworzenie instancji BarCode

BarcodeReader to klasa statyczna służąca do odczytu/tworzenia kodów QR. Można go używać bez tworzenia instancji obiektu dla klasy statycznej BarcodeReader. Kontrolka czytnika BARCODE umożliwia skanowanie 15 rodzajów BARCODE za pomocą jednej funkcji Read lub ReadAsync. Biblioteka IronBarcode umożliwia odczytywanie kodów QR/kodów kreskowych z różnych źródeł:

  • Ciąg znaków
  • Stream
  • Obraz
  • Bitmap

5. Odczyt BarCODE za pomocą String

Kody QR i obrazy kodów kreskowych można łatwo odczytać za pomocą biblioteki czytnika kodów kreskowych .NET. Metoda Read jest funkcją statyczną, która skanuje obrazy kodów QR i dekoduje kody QR oraz BarCodes na tekst. Obsługuje różne typy plików graficznych, takie jak bitmapy, pliki PNG, JPEG, TIFF itp.

Ta funkcja Read wyodrębnia dane kodu QR/BARCODE z obrazu i zwraca wynik jako obiekt BarcodeResult. Jeśli plik obrazu nie zostanie rozpoznany przez kod, zwróci on wartość null.

BarcodeResult ma następujące wartości:

  • BarcodeType
  • Wartość
  • Tekst
  • Wartość binarna

BarcodeType jest typem danych enum i zwraca typ BARCODE z podanego obrazu wejściowego. IronBarcode obsługuje dwadzieścia dwa typy kodów kreskowych. Zwróci typ kodu BARCODE, który jest zastosowany na podanym obrazie wejściowym.

Wartość i tekst są również wartościami typu obiektowego dostępnymi w BarcodeResult. Zarówno wartość, jak i tekst są typami danych typu string. Zwraca to wartość ciągu znaków kodu kreskowego BARCODE. Read odczyta kody QR i kody BARCODE oraz pobierze wartość ciągu znaków z podanego obrazu kodu BARCODE do zmiennej value/text. Wartość binarna jest typem danych bajtowych i zwraca bajt danego obrazu. Poniżej znajduje się kod szybkiej odpowiedzi, który można wykorzystać w dowolnej aplikacji .NET Windows Forms lub .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

Powyższy kod pokazuje, jak odczytywać kody QR i kody barcode za pomocą biblioteki czytnika kodów kreskowych .NET. Kod jest prosty w użyciu i mapuje plik z systemu na obiekt Bitmap. Odczytuje również kod QR/BARCODE z obrazu i wyświetla wynik w obiekcie. Poniżej znajdują się kody QR/BARCODE zawarte w kodzie, które należy zeskanować w celu uzyskania zakodowanych danych.

Czytnik kodów QR w języku C# (samouczek krok po kroku), rysunek 4: Wprowadzanie kodu BARCODE Wprowadzanie kodów BarCode

6. Odczyt wielu BarCode'ów z obrazu TIFF

Kontrolka czytnika kodów kreskowych .NET umożliwia odczyt wielu kodów QR/BARCODE-ów z pliku graficznego przy użyciu tej samej metody Read, która jest bardzo łatwa w użyciu.

Poniżej znajduje się przykładowy kod do odczytu wielu kodów QR z obrazu:

// 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

W powyższym kodzie kody QR są wyodrębniane z obrazów kodów QR w formacie TIFF. BarCode reader .NET scans QR codes from the system image and returns the result as an array. W powyższym kodzie skanowany jest wyłącznie BARCODE o numerze Code128. Jeśli na obrazie znajdują się inne BARCODES, zostaną one zignorowane.

7. Odczytywanie kodów QR i BarCodes z plików PDF

W tej sekcji pokazano, jak odczytać kod QR z dokumentów PDF. Biblioteka kodów QR przeskanuje wszystkie dostępne strony i pliki w poszukiwaniu wszystkich dostępnych kodów QR lub skoncentruje się na jednym konkretnym typie BARCODE. W przypadku korzystania z IronBarcode biblioteka udostępnia wszystkie odpowiednie pliki DLL potrzebne do obsługi standardowego czytnika kodów kreskowych, więc nie ma potrzeby dołączania żadnych innych plików DLL jako odwołania w projekcie .NET.

Poniżej znajduje się przykładowy kod, który można wykorzystać do odczytu kodów QR/BARCODE z plików 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

Powyżej znajduje się przykładowy kod do odczytu kodów QR/BARCODE z pliku PDF za pomocą prostej metody ReadPdf. Może również dostarczać szczegółowe wyniki dla każdego BarCODE'a i jego typu.

Wnioski

Czytniki kodów kreskowych .NET zapewniają prosty i łatwy sposób odczytu kodów QR lub dekodowania/tworzenia kodów QR i kodów barcode za pomocą kilku prostych kroków. Biblioteka IronBarcode DLL może być używana w różnych środowiskach, takich jak aplikacje .NET Windows Forms, aplikacje mobilne, aplikacje internetowe, MAUI i Blazor, korzystające z platformy .NET Framework lub .NET Standard. Ponadto IronBarcode oferuje szeroki zakres opcji dostosowywania w celu poprawy szybkości odczytu kodów kreskowych, takich jak obszary przycinania lub wielowątkowość, oraz dokładności modelu ML. IronBarcode oferuje bezpłatny klucz próbny, a obecnie można kupić pięć produktów Iron Software w cenie zaledwie dwóch.

Więcej informacji można znaleźć na stronie poświęconej licencjom.

Można również pobrać plik ZIP z projektem.

Często Zadawane Pytania

Jak mogę odczytać kody QR w C#?

Możesz odczytać kody QR w C# przy użyciu biblioteki IronQR, instalując pakiet NuGet IronBarcode w Visual Studio, dodając niezbędne odwołania i korzystając z klasy BarcodeReader.

Jakie są kroki, aby rozpocząć projekt odczytywania kodów QR w Visual Studio?

Aby rozpocząć projekt odczytywania kodów QR w Visual Studio, utwórz nowy projekt, zainstaluj pakiet NuGet IronBarcode, dodaj wymagane odwołania i użyj klasy BarcodeReader do odczytywania kodów QR z różnych źródeł.

Czy mogę odczytać wiele kodów QR z jednego obrazu w C#?

Tak, biblioteka IronQR pozwala na odczyt wielu kodów QR z jednego obrazu przy użyciu metody Read z opcjami skonfigurowanymi dla wielu kodów.

Jak mogę wyodrębnić kody QR z dokumentu PDF w C#?

Możesz użyć metody ReadPdf w bibliotece IronQR, aby zeskanować dokument PDF w poszukiwaniu kodów QR i uzyskać szczegółowe wyniki z każdej strony.

Jakie opcje dostosowania są dostępne dla odczytu kodów QR w C#?

IronQR oferuje opcje dostosowania, takie jak ustawienie regionów przycięcia, włączenie wielowątkowości oraz dostosowanie dokładności modelu uczenia maszynowego, aby zwiększyć wydajność odczytu kodów QR.

Czy IronQR nadaje się do zastosowań komercyjnych?

Tak, IronQR jest zaprojektowany dla komercyjnych aplikacji .NET, zapewniając niezawodne i wydajne możliwości odczytu kodów QR.

Jakie środowiska obsługują odczyt kodów QR z IronQR?

IronQR obsługuje różne środowiska .NET, w tym aplikacje Windows Forms, aplikacje mobilne, aplikacje webowe, MAUI i Blazor używając .NET Framework lub .NET Standard.

Gdzie mogę znaleźć informacje licencyjne dotyczące użycia IronQR?

Aby uzyskać informacje licencyjne na temat używania IronQR, odwiedź sekcję licencyjną na stronie Iron Software.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie