IRONSOFTWAREHOME
KORZYSTANIE Z IRONQR

Jak generować kody QR w ASP .NET Core

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Kody QR stały się integralną częścią nowoczesnej technologii, oferując wygodny sposób przechowywania i przesyłania informacji. W tworzeniu stron internetowych generatory kodów QR, takie jak ten, który zaimplementujemy przy użyciu IronQR w ASP.NET Core, zapewniają solidne możliwości dynamicznego tworzenia kodów QR. Generatory kodów QR są nieocenione dla różnych zastosowań, takich jak systemy biletowe, uwierzytelnianie, zarządzanie zapasami i inne. Ten artykuł zgłębia proces tworzenia kodów QR w ASP.NET Core przy użyciu IronQR, potężnej biblioteki zaprojektowanej do tego celu. ASP.NET Core, będąc wszechstronnym frameworkiem do budowy aplikacji internetowych, oferuje solidne możliwości generowania kodów QR. W tym artykule zgłębimy proces tworzenia kodów QR w ASP.NET Core, używając IronQR, potężnej biblioteki do generowania kodów QR od Iron Software.

Jak wygenerować kody QR w ASP.NET Core

  1. Utwórz projekt ASP.Net przy użyciu Visual Studio
  2. Zainstaluj bibliotekę IronQR z Menedżera Pakietów
  3. Wygeneruj kod QR
  4. Wygeneruj kod QR z formatowaniem

Rozumienie IronQR

IronQR to wysokowydajna biblioteka generowania kodów QR dla aplikacji .NET. Zapewnia prosty i intuicyjny interfejs API do generowania kodów QR z różnymi opcjami dostosowywania. IronQR wspiera .NET Standard, co czyni go kompatybilnym z szerokim zakresem platform, w tym ASP.NET Core. Dzięki IronQR deweloperzy mogą łatwo generować kody QR z różnymi typami danych, poziomami korekcji błędów, rozmiarami i formatami.

Kluczowe cechy

1. Odczytywanie i tworzenie kodów QR

IronQR umożliwia łatwe generowanie i odczytywanie kodów QR. Niezależnie od tego, czy musisz dynamicznie tworzyć kody QR, czy też wyciągać informacje z istniejących, ta biblioteka spełni twoje potrzeby.

2. Przyjazne dla użytkownika API

Biblioteka zapewnia przyjazne dla użytkownika API, które pozwala deweloperom szybko integrować funkcjonalność kodów kreskowych w ich projektach .NET. Możesz zacząć pracować z kodami QR w zaledwie kilka minut.

3. Kompatybilność

IronQR obsługuje różne wersje .NET, w tym:

  1. C#, VB.NET, F#
  2. .NET Core (8, 7, 6, 5, and 3.1+)
  3. .NET Standard (2.0+)
  4. .NET Framework (4.6.2+)

Pokrywa szeroki zakres typów projektów, w tym web (Blazor i WebForms), mobile (Xamarin i MAUI), desktop (WPF i MAUI) oraz aplikacje konsolowe.

4. Model Uczenia Maszynowego do Wykrywania Kodów QR

IronQR wykorzystuje zaawansowany, niestandardowy model Uczenia Maszynowego do wykrywania kodów QR. Zapewnia to dokładne i niezawodne rozpoznawanie kodu. Dodatkowo, dostępna jest opcja Slim Mode (bez ML) dla tych, którzy wolą lekkie podejście.

5. Odczytywanie Kodów QR

Możesz odczytywać kody QR z różnych formatów obrazów, w tym:

  1. Obrazy (jpg, png, svg, bmp)
  2. Obrazy wielostronicowe (gif, tif, tiff)
  3. System.Drawing Bitmaps
  4. IronDrawing Images (AnyBitmap)

6. Pisanie Kodów QR

IronQR pozwala zapisywać kody QR dla różnych typów dokumentów, takich jak:

  1. Images (jpg, png, gif, tiff, bmp)
  2. System.Drawing Images
  3. Strumienie (MemoryStream, byte[])
  4. PDF (stamp na istniejącym PDF)

7. Stylizacja Kodów QR

Dostosuj kody QR poprzez Zmianę rozmiaru, Regulację marginesów i obramowań, Przefarbowanie, Dodanie logo

8. Obsługa Błędów i Korekcji

IronQR zapewnia szczegółowe komunikaty błędów i wspiera niestandardowe poziomy korekcji błędów QR.

Z tą wiedzą, zacznijmy z aplikacją do generowania kodu QR w ASP.NET Core.

Krok 1: Utwórz nowy projekt ASP.NET przy użyciu Visual Studio

Zanim zagłębimy się w generowanie kodu QR, skonfigurujmy nowy projekt ASP.NET Core. Oto kroki do zainicjowania nowego projektu:

Rozpocznij od utworzenia nowego projektu w Visual Studio i wybrania szablonu aplikacji ASP.Net Core Web App

Jak generować kody QR w ASP .NET Core: Rysunek 1 - Wybierz szablon aplikacji webowej ASP.NET CORE

Podaj nazwę projektu i lokalizację

Jak generować kody QR w ASP .NET Core: Rysunek 2 - Nazwij projekt i lokalizację, w której chcesz go zapisać

Wybierz wymaganą wersję .NET.

Jak generować kody QR w ASP .NET Core: Rysunek 3 - Wybierz odpowiednią wersję .NET

Kliknij przycisk "utwórz", aby wygenerować kod aplikacji z szablonu

Jak generować kody QR w ASP .NET Core: Rysunek 4 - Kliknij przycisk

Krok 2: Zainstaluj bibliotekę IronQR z Menedżera Pakietów

Zainstaluj bibliotekę IronQR z Menedżera Pakietów Visual Studio jak pokazano poniżej.

Jak generować kody QR w ASP .NET Core: Rysunek 5 - Wyszukaj IronOCR za pomocą menedżera pakietów Visual Studio i zainstaluj go

IronQR można również zainstalować za pomocą Menedżera Pakietów NuGet.

Jak generować kody QR w ASP .NET Core: Rysunek 6 - Wyszukaj IronOCR za pomocą menedżera pakietów NuGet

Krok 3: Wygeneruj Kod QR

Teraz, utwórzmy aplikację do kodu QR.

Utwórz QRCode Model

using System.ComponentModel.DataAnnotations;

namespace GenerateQRCode.Models
{
    public class QRCodeModel
    {
        [Display(Name = "Enter QR Code Text")]
        public string QRCodeText { get; set; }
    }
}

Stwórz kontroler do kodu QR

Aby dodać nowy kontroler, kliknij prawym przyciskiem myszy na folder kontrolera i podaj nazwę, jak pokazano poniżej.

Jak generować kody QR w ASP .NET Core: Rysunek 7 - Dodaj nowy kontroler, klikając na folder i nadając mu nazwę

Wybierz Pusty Kontroler.

Jak generować kody QR w ASP .NET Core: Rysunek 8 - Kliknij na Pusty Kontroler w oknie

Podaj nazwę.

Jak generować kody QR w ASP .NET Core: Rysunek 9 - Nazwij kontroler

Następnie zintegrować poniższy kod z kontrolerem.

using GenerateQRCode.Models;
using IronSoftware.Drawing;
using IronQr;
using Microsoft.AspNetCore.Mvc;

namespace GenerateQRCode.Controllers
{
    public class QrCodeController : Controller
    {
        private readonly IWebHostEnvironment _environment;

        public QrCodeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }

        public IActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public IActionResult CreateQRCode(QRCodeModel generateQRCode)
        {
            try
            {
                string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
                // Create a QR Code object
                QrCode myQr = QrWriter.Write(generateQRCode.QRCodeText);
                // Save QR Code as a Bitmap
                AnyBitmap qrImage = myQr.Save();
                // Save QR Code Bitmap as File
                qrImage.SaveAs(filePath);
                string fileName = Path.GetFileName(filePath); // qr code file
                string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
                ViewBag.QrCodeUri = imageUrl;
            }
            catch (Exception)
            {
                throw;
            }
            return View();
        }
    }
}

Wyjaśnienie kodu

Definicja Przestrzeni Nazw i Klasy

Kod rozpoczyna się od deklaracji using, które importują niezbędne przestrzenie nazw. Przestrzeń nazw GenerateQRCode.Controllers zawiera klasę QrCodeController.

Konstruktor Kontrolera

Klasa QrCodeController posiada konstruktor przyjmujący parametr IWebHostEnvironment. Ten parametr jest wstrzykiwany przez ASP.NET Core do obsługi zadań związanych z hostingiem sieci.

Metody Akcji

  • Index(): Ta metoda zwraca widok (prawdopodobnie stronę HTML) po uzyskaniu dostępu. Wydaje się, że nie jest bezpośrednio związany z generowaniem kodów QR.
  • CreateQRCode(QRCodeModel generateQRCode): Ta metoda jest sercem logiki generowania kodów QR. Przyjmuje obiekt QRCodeModel (prawdopodobnie zawierający tekst kodu QR) jako parametr.

Wewnątrz metody

  • Konstrukuje ścieżkę do zapisywania wygenerowanego obrazu kodu QR.
  • Tworzy obiekt kodu QR za pomocą QrWriter.Write(generateQRCode.QRCodeText).
  • Zapisuje kod QR jako obraz bitmapy.
  • Konstrukuje URL obrazu na podstawie szczegółów zapytania sieciowego.
  • Ustawia właściwość ViewBag.QrCodeUri z adresem URL obrazu.
  • Jeśli wystąpią jakieś wyjątki podczas tego procesu, zostają rzucone.

Generowanie kodów QR

Faktyczne generowanie kodu QR odbywa się w metodzie CreateQRCode. Wywołanie QrWriter.Write(generateQRCode.QRCodeText) tworzy obiekt kodu QR na podstawie dostarczonego tekstu.

Zapisywanie Obrazu

Wygenerowany kod QR jest zapisywany jako obraz bitmapowy za pomocą qrImage.SaveAs(filePath). Ścieżka pliku obrazu jest konstrukowana na podstawie podstawowej ścieżki web i pożądanego nazwy pliku.

URL Obrazu

imageUrl jest konstruowany przy użyciu schematu, hosta i bazowej ścieżki żądania webowego. Ten URL wskazuje na lokalizację, gdzie można uzyskać dostęp do wygenerowanego obrazu kodu QR. Ogólnie rzecz biorąc, ten kontroler obsługuje generowanie kodu QR, zapisywanie obrazu i udostępnianie URL obrazu do dalszego wykorzystania.

Dodanie Widoku Do Kontrolera

Aby dodać nowy widok, kliknij prawym przyciskiem metodę akcji CreateQRCode w klasie QrCodeController.

Jak generować kody QR w ASP .NET Core: Rysunek 10 - Dodaj nowy widok w klasie QrCodeController

Wybierz "Dodaj Widok", a następnie wybierz "Widok Razor". Kliknij przycisk "Dodaj".

Jak generować kody QR w ASP .NET Core: Rysunek 11 - Wybierz opcję Dodaj Widok, następnie Razor View, a potem Dodaj

Następnie wybierz szablon "Utwórz" i wcześniej wygenerowaną klasę Model.

Jak generować kody QR w ASP .NET Core: Rysunek 12 - Wybierz szablon Create wygenerowany wcześniej

Teraz zamień poniższy kod we widoku

@model GenerateQRCode.Models.QRCodeModel

@{
    ViewData["Title"] = "Generate QR Code";
}

<h1>Generate QR Code</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="CreateQRCode">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="QRCodeText" class="control-label"></label>
                <input asp-for="QRCodeText" class="form-control" />
                <span asp-validation-for="QRCodeText" class="text-danger"></span>
            </div>
            <div class="form-group">
                <a href="#" class="btn btn-primary">Create QR Code</a>
            </div>
            <div class="form-group">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Your QR Code will appear here." />
            </div>
        </form>
    </div>
</div>
<div>
    <a asp-action="Index">Clear</a>
</div>
@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

Zrób to samo dla metody akcji indeksu, aby po uruchomieniu aplikacji nie wystąpił błąd przy żądaniu POST.

Teraz w Program.cs zmień poniższy kod, aby powyższy widok był domyślną trasą.

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=Index}"
);

Ta akcja zmieni domyślną trasę z HomeController na naszą QrCodeController.

Teraz skompiluj i uruchom projekt.

Jak generować kody QR w ASP .NET Core: Rysunek 13 - Przykładowa strona główna z projektu

Wpisz dowolny tekst w polu tekstowym i kliknij 'Utwórz'. To stworzy nowy kod QR, jak pokazano poniżej.

Jak generować kody QR w ASP .NET Core: Rysunek 14 - Wprowadź dowolny tekst i kliknij utwórz, aby stworzyć nowy kod QR za pomocą IronQR

Dodawanie Stylu do kodu QR

QrStyleOptions są używane do stylizacji generowania kodów QR.

[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
    try
    {
        string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }
        string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");

        // Create a QR Code object
        QrCode qrCode = QrWriter.Write(generateQRCode.QRCodeText);
        QrStyleOptions style = new QrStyleOptions
        {
            Dimensions = 300, // px size
            Margins = 10,     // px margins
            Color = Color.YellowGreen // custom color
        };

        // Save QR Code with style options as a bitmap
        AnyBitmap qrImage = qrCode.Save(style);
        // Save QR Code Bitmap to File
        qrImage.SaveAs(filePath);

        string fileName = Path.GetFileName(filePath); // qr code file
        string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
        ViewBag.QrCodeUri = imageUrl;
    }
    catch (Exception)
    {
        throw;
    }
    return View();
}

Wynik

Jak generować kody QR w ASP .NET Core: Rysunek 15 - Zmiana koloru kodu QR programowo

Licencja (dostępna wersja próbna)

Dla deweloperów, którzy chcą przetestować IronQR, dostępna jest licencja próbna tutaj. Ten klucz licencyjny należy umieścić w pliku appSettings.json. Dzięki temu zostanie usunięty znak wodny widoczny na powyższych obrazach.

{
  "IronQr.License.LicenseKey": "My key"
}
JSON

Wnioski

W tym artykule zgłębiliśmy, jak generować kody QR w ASP.NET Core za pomocą IronQR. Wykorzystując moc IronQR, programiści mogą z łatwością integrować funkcjonalność generowania kodów QR w swoich aplikacjach webowych. Niezależnie od tego, czy chodzi o systemy biletowe, uwierzytelnianie, czy udostępnianie informacji, kody QR oferują wszechstronne rozwiązanie do skutecznego przesyłania danych. Dzięki IronQR, tworzenie i dostosowywanie kodów QR w ASP.NET Core nigdy nie było łatwiejsze. Zacznij włączać generowanie kodów QR do swoich projektów ASP.NET Core i odkryj świat możliwości dynamicznego kodowania danych i udostępniania.

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