IRONSOFTWAREHOME
KORZYSTANIE Z IRONQR

Jak generować kody QR w C# za pomocą pakietu NuGet

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Generowanie kodów QR w aplikacjach .NET nigdy nie było prostsze. Dzięki odpowiedniemu pakietowi NuGet możesz tworzyć kody QR, dostosowywać ich wygląd i zapisywać je w wielu formatach wyjściowych za pomocą zaledwie kilku linii kodu. IronQR zapewnia generowanie kodów QR na poziomie korporacyjnym z obsługą wielu platform dla .NET Core, .NET Framework oraz .NET 5-10.

Ten samouczek pokazuje, jak zainstalować pakiet IronQR NuGet i od razu zacząć generować kody QR. Niezależnie od tego, czy tworzysz systemy zarządzania zapasami, platformy sprzedaży biletów na wydarzenia czy aplikacje marketingowe, IronQR zapewnia narzędzia niezbędne do profesjonalnego wdrażania kodów QR.

Pierwszy krok:
arrow pointer

Jak zainstalować pakiet NuGet z kodem QR?

Instalacja IronQR za pomocą menedżera pakietów NuGet zajmuje kilka sekund. Otworz konsole Menedzera pakietow NuGet w Visual Studio i uruchom ponizsze polecenie lub uzyj polecenia dotnet add package dla srodowisk CLI:

PM > Install-Package IronQR

Pakiet NuGet automatycznie obsługuje wszystkie zależności, zapewniając kompatybilność z docelowymi frameworkami. IronQR obsługuje .NET Framework 4.6.2+, .NET Core 2.0+ oraz .NET 5-10, co czyni go wszechstronną biblioteką dla każdego projektu Visual Studio.

Przed napisaniem jakiegokolwiek kodu potrzebny jest bezpłatny klucz licencyjny na okres próbny. Ustaw to na początku uruchamiania aplikacji, aby wszystkie kolejne wywołania były uwierzytelniane:

using IronQr;

// Set license key before any IronQR operation
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

Po wprowadzeniu klucza licencyjnego aplikacja jest gotowa do generowania, odczytywania i dostosowywania kodów QR bez znaków wodnych na obrazach wyjściowych.

Jak wygenerować swój pierwszy kod QR?

Utworzenie pierwszego kodu QR wymaga minimalnej ilości kodu. Klasa QrWriter obsluguje generowanie kodow QR z rozsadnymi ustawieniami domyslnymi, ktore dzialaja dobrze dla wiekszosci przypadkow uzycia:

using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from text data
QrCode myQr = QrWriter.Write("Hello World");

// Save QR code as bitmap image
AnyBitmap qrImage = myQr.Save();

// Export to PNG file
qrImage.SaveAs("hello-qr.png");

Wynik w postaci kodu QR

NuGet QR Code Generator: Generuj kody QR w C# za pomoca zaledwie kilku linii kodu: Obraz 1 - Prosty wynik QR

Metoda QrWriter.Write() akceptuje dane tekstowe i zwraca obiekt QrCode zawierajacy symbol QR. Metoda Save() konwertuje to na AnyBitmap, który wspiera kodowanie do roznych formatow obrazu lub eksportowanie danych wektorowych dla sciezki XAML. To podejscie dziala na Windows, macOS i Linux bez zaleznosci specyficznych dla platformy -- w przeciwienstwie do bibliotek opierajacych sie na System.Drawing, ktore sa tylko na Windows od wersji .NET 6.

Powyższy wzorzec trzech wierszy obejmuje najczęstszy scenariusz: zakoduj ciąg znaków, pobierz bitmapę, zapisz plik. W zastosowaniach produkcyjnych prawdopodobnie będziesz przekazywać ciągi adresów URL, identyfikatory produktów lub ładunki JSON zamiast zwykłego tekstu.

Jak wybrać odpowiedni poziom korekty błędów?

Kody QR obsługują cztery poziomy korekcji błędów zdefiniowane w normie ISO/IEC 18004 dotyczącej kodów QR, które określają, jak duże uszkodzenie może ponieść kod, pozostając jednocześnie skanowalnym. IronQR wspiera wszystkie cztery poziomy przez klase QrOptions:

Poziomy korekcji błędów kodów QR obsługiwane przez IronQR
PoziomZdolność odzyskiwaniaNajlepsze dla
L (Niski)~7%Czyste środowiska, maksymalna gęstość danych
M (Średni)~15%Ogólne zastosowanie (domyślne)
Q (Kwartalny)~25%Zastosowania przemysłowe
H (Wysoki)~30%Logo, oznakowanie zewnętrzne, częściowe zasłonięcie
using IronQr;
using IronSoftware.Drawing;

// Configure high error correction level
var options = new QrOptions(QrErrorCorrectionPoziom.High);

// Generate QR code with options
QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/", options);
AnyBitmap image = qr.Save();
image.SaveAs("high-correction-qr.png");

Wynik

NuGet QR Code Generator: Generuj kody QR w C# za pomoca zaledwie kilku linii kodu: Obraz 2 - QR z wysokim poziomem korekcji

Wyższe poziomy korekcji błędów tworzą gęstsze symbole QR z większą liczbą modułów surowych, dzięki czemu kod pozostaje czytelny nawet wtedy, gdy jest częściowo zasłonięty lub uszkodzony. W przypadku kodów, które będą drukowane na opakowaniach lub umieszczane w logo, właściwym wyborem jest poziom H. W przypadku wyświetlania wyłącznie w formie cyfrowej, gdzie nie ma obaw o uszkodzenia, poziom M zapewnia równowagę między pojemnością danych a niezawodnością.

Wybór niewłaściwego poziomu jest częstą przyczyną niepowodzeń skanowania w środowisku produkcyjnym. Jeśli kody QR będą umieszczone na materiałach fizycznych lub w różnej odległości od aparatów, należy użyć poziomu Q lub H i zweryfikować wynik za pomocą wielu aplikacji skanujących przed wdrożeniem.

Jak dostosować wygląd kodu QR?

IronQR oferuje rozbudowane opcje stylizacji przez QrStyleOptions, umozliwiajac dostosowanie kolorow, wymiarow, marginesow oraz osadzenie logo. Markowe kody QR sprawdzają się lepiej w kontekście marketingowym, ponieważ wizualnie kojarzą kod z rozpoznawalną tożsamością:

using IronQr;
using IronSoftware.Drawing;

// Create styled QR code with custom colors
var styleOptions = new QrStyleOptions
{
    Dimensions = 300,    // Width and height in pixels
    Margins = 10,        // Quiet zone in pixels
    Color = Color.DarkBlue,
    BackgroundColor = Color.White
};

QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap styledImage = qr.Save(styleOptions);
styledImage.SaveAs("styled-qr.png");

Sformatowany kod QR

NuGet QR Code Generator: Generuj kody QR w C# za pomoca zaledwie kilku linii kodu: Obraz 3 - Kod QR z stylizowany

Wlasciwosc Dimensions ustawia zarowno szerokosc, jak i wysokosc w pikselach. Wlasciwosc Margins kontroluje strefe ciszy -- biale obramowanie otaczajace symbol QR, ktorego skanery uzywaja do zlokalizowania granicy kodu. Zmniejszenie marginesów poniżej zalecanego minimum 4 modułów może powodować błędy skanowania na starszych urządzeniach.

Dodanie logo do kodów QR zwiększa rozpoznawalność marki. System stylizacji automatycznie pozycjonuje logo, zachowując jednocześnie czytelność — jest to znacząca przewaga nad alternatywnymi rozwiązaniami open source, które wymagają ręcznego obliczania położenia.

Jak zapisać kody QR w różnych formatach wyjściowych?

IronQR obsługuje wiele formatów wyjściowych, w tym PNG, JPEG, GIF, TIFF, BMP i SVG. Metoda SaveAs automatycznie wykrywa format na podstawie rozszerzenia pliku:

using IronQr;
using IronSoftware.Drawing;

QrCode qr = QrWriter.Write("Format demonstration");
AnyBitmap image = qr.Save();

// Save to raster image formats
image.SaveAs("qr-output.png");
image.SaveAs("qr-output.jpg");
image.SaveAs("qr-output.gif");

// Get as byte array for HTTP responses or database storage
byte[] pngBytes = image.ExportBytes();

Wiele formatów wyjściowych kodów QR

NuGet QR Code Generator: Generuj kody QR w C# za pomoca zaledwie kilku linii kodu: Obraz 4 - Kody QR zapisane w roznych formatach plikow

Metoda ExportBytes() jest szczególnie przydatna w aplikacjach internetowych, gdzie trzeba zwrocic obraz kodu QR przez HTTP bez zapisywania go na dysk. Możesz zapisać tablicę bajtów bezpośrednio do strumienia odpowiedzi lub przechowywać ją w kolumnie bazy danych w celu pobrania na żądanie.

Do osadzania kodow QR w dokumentach PDF, IronQR udostepnia metode StampToExistingPdfPage, umozliwiajac bezposrednie umieszczenie kodu QR na istniejacych dokumentach. Działa to natywnie bez dodatkowych bibliotek PDF, co ma znaczenie w środowiskach mikrousług, gdzie chcesz zminimalizować liczbę zależności.

Jak wypada porównanie pakietu IronQR NuGet z QRCoder?

Biblioteka QRCoder to popularna opcja open source do generowania kodów QR w środowisku .NET. Programisci, ktorzy uzywali QRCoder, sa zaznajomieni z jego wieloetapowym API obejmujacym QRCodeGenerator, QRCodeData oraz oddzielna klase renderujaca, taka jak PngByteQRCode. IronQR upraszcza to do pojedynczego wywolania QrWriter.Write().

Porównanie funkcji IronQR i QRCoder dla programistów .NET
FunkcjaIronQRQRCoder
Renderowanie wielopłatformowePełna obsługa .NET 5-10Tylko dla systemu Windows do renderowania bitmap
Czytanie oparte na MLWykrywanie dokładności na poziomie 99,9%Tylko generowanie, bez czytania
Integracja z PDFWbudowana obsługa stempliWymaga dodatkowych bibliotek
Wsparcie komercyjneWsparcie techniczne 24/5Tylko dla społeczności
Osadzanie logoWbudowane, automatycznie pozycjonowaneWymagane ręczne nakładanie

QRCoder sprawdza się dobrze do podstawowego generowania kodów w środowisku Windows. Model uczenia maszynowego IronQR zapewnia doskonałe odczytywanie kodów QR pod każdym kątem — ma to kluczowe znaczenie dla aplikacji przetwarzających zdjęcia przesłane przez użytkowników, w przypadku których nie można kontrolować jakości danych wejściowych. API oparte na jednej metodzie zmniejsza również liczbę linii kodu potrzebnych do wdrożenia działającej funkcji.

Zespoły migrujące z QRCoder powinny zapoznać się z przewodnikiem migracji z QRCoder do IronQR, zawierającym zestawienie mapowania interfejsów API.

Jak zakodować dane binarne w kodzie QR?

Oprócz tekstu IronQR obsługuje kodowanie tablic bajtów dla binarnych ładunków kodów QR. Jest to przydatne w przypadku zaszyfrowanych tokenów, obiektów serializowanych lub surowych identyfikatorów binarnych, których nie można przedstawić jako ciągów znaków UTF-8:

using IronQr;
using IronSoftware.Drawing;

// Encode binary data -- useful for encrypted payloads or binary identifiers
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("Binary content example");
QrCode qr = QrWriter.Write(binaryData);
qr.Save().SaveAs("binary-qr.png");

Wynik

NuGet QR Code Generator: Generuj kody QR w C# za pomoca zaledwie kilku linii kodu: Obraz 5 - Kod QR z kodowaniem binarnym

Kodowanie binarne umożliwia umieszczanie zaszyfrowanych danych, obiektów zserializowanych lub dowolnej zawartości binarnej w symbolach QR. Skaner po stronie odbiorczej musi wiedzieć, jak zinterpretować binarną zawartość — jest to powszechne w systemach kontroli dostępu, gdzie kod QR zawiera podpisany token zamiast czytelnego dla człowieka adresu URL.

Należy pamiętać, że dane binarne generują gęstsze symbole QR niż odpowiadające im dane tekstowe. Jeśli rozmiar ładunku ma wpływ na niezawodność skanowania na odległość, zastosuj korekcję błędów poziomu H i przetestuj z najmniejszą kamerą, jaką użytkownicy mogą mieć.

Jak czytać kody QR w C#?

IronQR obsługuje zarówno zapis, jak i odczyt. Klasa QrReader akceptuje pliki obrazow, bitmapy i klatki z kamery, dzieki czemu nadaje sie zarówno do przetwarzania wsadowego, jak i do skanowania w czasie rzeczywistym:

using IronQr;
using IronSoftware.Drawing;

// Load an existing image containing a QR code
var inputImage = AnyBitmap.FromFile("qr-to-read.png");

// Read all QR codes in the image
QrReadResult readResult = QrReader.Read(inputImage);

foreach (QrResult result in readResult.QrCodes)
{
    // Access the decoded value
    Console.WriteLine($"Decoded: {result.Value}");
}

Silnik odczytu oparty na uczeniu maszynowym przetwarza obrazy w dowolnej orientacji i radzi sobie z częściowymi uszkodzeniami do progu korekcji błędów. W przypadku scenariuszy odczytu produkcyjnego zapoznaj się z samouczkiem dotyczącym odczytu kodów QR, aby uzyskać wskazówki dotyczące postępowania z danymi wejściowymi niskiej jakości, obrazami zawierającymi wiele kodów oraz konfiguracją trybu skanowania.

Jak korzystać z IronQR w aplikacji ASP.NET Core?

Aplikacje internetowe często muszą generować kody QR na żądanie — na przykład linki do kont użytkowników, jednorazowe kody logowania lub prośby o płatność. Poniższy przykład pokazuje, jak udostępnić obraz kodu QR bezpośrednio z minimalnego punktu końcowego API .NET Core:

using IronQr;
using IronSoftware.Drawing;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Set license key at application startup
IronQr.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Return a QR code PNG for a given URL parameter
app.MapGet("/qr", (string data) =>
{
    QrCode qr = QrWriter.Write(data);
    AnyBitmap image = qr.Save();
    byte[] pngBytes = image.ExportBytes();
    return Results.File(pngBytes, "image/png");
});

app.Run();

Ten wzorzec działa zarówno w minimalnych API ASP.NET Core, jak i standardowych kontrolerach MVC. Wywolanie ExportBytes() unika zapisywania tymczasowych plików na dysk, co jest ważne w wdrożeniach kontenerowych, gdzie system plików może być tylko do odczytu lub efemeryczny.

Aby zapoznać się z pełnym przewodnikiem po integracji z ASP.NET Core, zobacz samouczek dotyczący generatora kodów QR w ASP.NET Core. Przewodnik poświęcony Blazorowi jest również dostępny w samouczku dotyczącym generatora kodów QR Blazor.

Jak dodać margines i zmienić rozmiar obrazu kodu QR?

Kontrola wymiarów i stref ciszy ma zasadnicze znaczenie dla uzyskania wydruku o wysokiej jakości. IronQR udostepnia oba przez QrStyleOptions, a dedykowane przewodniki 'how-to' szczegolowo omawiaja kazdy z nich:

using IronQr;
using IronSoftware.Drawing;

// Specify dimensions and quiet zone for print output
var printOptions = new QrStyleOptions
{
    Dimensions = 600,   // High resolution for print
    Margins = 20        // Generous quiet zone for reliable scanning
};

QrCode qr = QrWriter.Write("https://ironsoftware.com/csharp/qr/");
AnyBitmap printImage = qr.Save(printOptions);
printImage.SaveAs("print-ready-qr.png");

Pełne wytyczne dotyczące wymiarów i marginesów dla różnych nośników wyjściowych można znaleźć w artykułach instruktażowych dotyczących zmiany rozmiaru obrazów kodów QR i dodawania marginesów do kodów QR. Przewodnik po tworzeniu obrazów QR obejmuje cały proces tworzenia obrazów, od aktywacji licencji po wygenerowanie pliku.

W przypadku konkretnych zastosowań kodów QR — w tym generowania kodów QR na wizytówki, tworzenia dynamicznego generatora kodów QR oraz odczytywania kodów QR z obrazów — dedykowane artykuły omawiają każdy scenariusz wraz z pełnymi przykładami kodu.

Jakie są Twoje kolejne kroki?

IronQR zmienia generowanie kodów QR z wieloetapowego procesu w prostą integrację z NuGet. Nalezy zainstalowac pakiet, wywolac QrWriter.Write() i zapisac wynik—trzy operacje, ktore obejmuja wiekszosc rzeczywistych scenariuszy. Poziomy korekcji błędów, niestandardowe formatowanie, stemplowanie plików PDF oraz czytanie oparte na uczeniu maszynowym są dostępne w ramach tej samej biblioteki.

Dokumentacja IronQR zawiera kompletny opis API, w tym zaawansowane tematy, takie jak odczytywanie kodów QR z trybami skanowania, przetwarzanie wsadowe oraz uwagi dotyczące wdrażania na konkretnych platformach. Sekcja samouczków IronQR zawiera przewodniki krok po kroku dotyczące .NET MAUI, VB.NET i aplikacji konsolowych.

Bezpłatna próba, aby bez ograniczeń zapoznać się z pełnym zestawem funkcji, lub zakup licencję na wdrożenie produkcyjne z całodobowym wsparciem technicznym.

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ęczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta