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 C# (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 wymagany .NET Framework. Projekt wygeneruje teraz strukturę dla wybranej aplikacji. Jeśli wybrano Aplikację konsolową, teraz otworzy się plik program.cs, w którym można wprowadzić kod i zbudować/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 C# (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 Visual Studio postępuj zgodnie z tymi instrukcjami: Przejdź do 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 C# (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 odwołanie IronBarCode do kodu, jak pokazano poniżej, co pozwoli na 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 statyczna klasa używana do odczytu/tworzenia kodów QR. Można jej używać bez tworzenia żadnej instancji obiektu dla statycznej klasy BarcodeReader. Kontrola czytnika kodów kreskowych oferuje możliwość skanowania 15 typów kodów kreskowych 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
  • Strumień
  • Obraz
  • Bitmapa

5. Odczytaj kod kreskowy przy użyciu String

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

Ta funkcja Read wyciąga dane kodu QR/kodu kreskowego 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:

  • Typ kodu kreskowego
  • Wartość
  • Tekst
  • Wartość binarna

BarcodeType to typ danych enum, który zwraca typ kodu kreskowego 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 to również wartości typu obiektowego dostępne na BarcodeResult. Zarówno wartość, jak i tekst są typami danych typu string. Zwraca to wartość ciągu znaków kodu kreskowego BARCODE. Metoda Read odczyta kody QR i kody kreskowe oraz uzyska wartość ciągu znaków podanego obrazu kodu kreskowego do wartości/tekstu. 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 C# (Krok po kroku), Rysunek 4: Wejście kodu kreskowego Wprowadzanie kodów BarCode

6. Odczyt wielu BarCode'ów z obrazu TIFF

Kontrola czytnika kodów kreskowych .NET pozwala na odczyt wielu kodów QR/kodów kreskowych z pliku obrazowego 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, kod kreskowy dla Code128 jest jedynym typem skanowanym. 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 odczytywania kodów QR/kodów kreskowych z pliku PDF z prostą metodą 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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie