Przejdź do treści stopki
KORZYSTANIE Z IRONBARCODE

Jak generować kody QR w ASP.NET MVC

W dzisiejszym szybko zmieniającym się świecie cyfrowym generowanie kodów QR stało się niezbędnym narzędziem do efektywnego udostępniania informacji. Te kompaktowe, dwuwymiarowe BARCODES, zdolne do przechowywania szerokiego zakresu danych, w tym adresów URL, tekstu, informacji kontaktowych, szczegółów produktów i wielu innych, odgrywają kluczową rolę we współczesnej komunikacji. Włączenie funkcji generowania kodów QR do aplikacji ASP.NET MVC pozwala zwiększyć możliwości użytkowników poprzez płynne generowanie kodów QR oraz poprawę ich doświadczeń, usprawnienie interakcji i ułatwienie bezproblemowej wymiany informacji.

Jeśli tworzysz aplikację ASP.NET MVC i chcesz włączyć do niej funkcje generowania kodów QR, biblioteka IronBarcode to doskonała biblioteka, która upraszcza ten proces. W tym artykułe omówimy, jak generować kody QR w ASP.NET MVC przy użyciu biblioteki Iron BarCode.

IronBarcode

IronBarcode to potężna i bogata w funkcje biblioteka do generowania i rozpoznawania kodów QR dla aplikacji .NET. Dzięki IronBarcode programiści mogą z łatwością zintegrować funkcje kodów kreskowych i kodów QR ze swoimi projektami ASP.NET MVC, w tym możliwość generowania kodów QR. Biblioteka zapewnia kompleksowy zestaw narzędzi i interfejsów API, które upraszczają proces tworzenia i dostosowywania kodów QR, umożliwiając programistom dostosowanie ich do konkretnych wymagań.

IronBarcode oferuje szerokie wsparcie dla różnych typów kodów kreskowych, w tym kodów QR, co czyni go idealnym wyborem dla projektów wymagających możliwości generowania kodów QR. Zapewnia programistom elastyczność w określaniu danych do zakodowania, kontrolowaniu rozmiaru i rozdzielczości generowanych kodów QR, a nawet dodawaniu elementów stylizacji wizualnej, takich jak kolory i logo. Biblioteka zapewnia wysokiej jakości generowanie kodów barcode z precyzyjną kontrolą nad każdym aspektem wyglądu kodu QR.

Oprócz generowania kodów QR, IronBarcode oferuje również zaawansowane funkcje odczytu i dekodowania kodów kreskowych. Obsługuje skanowanie i wyodrębnianie danych z kodów QR, umożliwiając aplikacjom przetwarzanie informacji w nich zakodowanych. Ta funkcja jest przydatna w sytuacjach, w których konieczne jest skanowanie kodów kreskowych i wyodrębnianie danych, takich jak zarządzanie zapasami, systemy biletowe i aplikacje mobilne.

Teraz stwórzmy projekt, aby wygenerować kod QR w aplikacji internetowej ASP.NET Core MVC.

Konfiguracja projektu

Zanim zagłębimy się w szczegóły implementacji, upewnijmy się, że projekt ASP.NET MVC jest skonfigurowany i gotowy do działania. Niezależnie od tego, czy rozpoczynasz nowy projekt, czy pracujesz nad już istniejącym, poniższe kroki poprowadzą Cię przez proces integracji biblioteki Iron BarCode z Twoją aplikacją. W moim przypadku utworzyłem nowy projekt.

Kroki tworzenia nowego projektu są następujące:

  1. Otwórz program Microsoft Visual Studio 2022.
  2. Na stronie startowej kliknij "Utwórz nowy projekt" lub przejdź do "Plik" > "Nowy" > "Projekt" w górnym menu.
  3. W oknie "Utwórz nowy projekt" zobaczysz różne szablony projektów do wyboru. Wybierz szablon projektu "Aplikacja internetowa ASP.NET Core (Model-View-Controller)" i kliknij "Dalej".
  4. Wprowadź nazwę i lokalizację swojego projektu. Wybierz odpowiednią lokalizację na komputerze, aby zapisać pliki projektu.
  5. Wybierz żądaną wersję frameworka. Visual Studio zazwyczaj sugeruje najnowszą stabilną wersję, ale w razie potrzeby można wybrać inną. Wybrałem .NET 7.
  6. Dostosuj wszelkie dodatkowe ustawienia projektu, takie jak opcje uwierzytelniania lub foldery projektowe, zgodnie z własnymi wymaganiami.
  7. Kliknij "Utwórz", aby utworzyć projekt.

Visual Studio wygeneruje następnie pliki projektu i otworzy eksplorator rozwiązań, w którym można zobaczyć strukturę projektu i rozpocząć pracę nad kodem.

Jak generować kody QR w ASP.NET MVC: Rysunek 1

Teraz musimy zainstalować bibliotekę Iron BarCode Library w naszej aplikacji.

Zainstaluj Iron BarCode

Aby rozpocząć, otwórz konsolę menedżera pakietów w Visual Studio i uruchom następujące polecenie:

Install-Package IronBarCode

To polecenie zainstaluje bibliotekę Iron BarCode i doda niezbędne odwołania do Twojego projektu.

Jak generować kody QR w ASP.NET MVC: Rysunek 2

Teraz napiszmy kod do tworzenia kodów QR.

Utwórz QRCodeModel

Utwórz klasę Model w folderze Models i wpisz następujący kod:

using System.ComponentModel.DataAnnotations;

public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText { get; set; }
}
using System.ComponentModel.DataAnnotations;

public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText { get; set; }
}
Imports System.ComponentModel.DataAnnotations

Public Class QRCodeModel
	<Display(Name := "Enter QR Code Text")>
	Public Property QRCodeText() As String
End Class
$vbLabelText   $csharpLabel

Utwórz kontroler kodów QR

W projekcie ASP.NET MVC utwórz nowy kontroler o nazwie QrCodeController. Aby to zrobić, kliknij prawym przyciskiem myszy folder Controllers w strukturze projektu, wybierz "Dodaj", a następnie wybierz "Kontroler". Z dostępnych opcji wybierz "Kontroler MVC – pusty".

Wpisz następujący kod w QrCodeController:

using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;

public class QrCodeController : Controller
{
    private readonly IWebHostEnvironment _environment;

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

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

    [HttpPost]
    public IActionResult CreateQRCode(QRCodeModel generateQRCode)
    {
        try
        {
            // Creating QR Code
            GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
            string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            string filePath = Path.Combine(path, "qrcode.png");
            barcode.SaveAsPng(filePath);

            string fileName = Path.GetFileName(filePath);
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";

            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception ex)
        {
            // Handle exceptions
            // Log the exception details here for troubleshooting and debugging.
            throw;
        }

        return View();
    }
}
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;

public class QrCodeController : Controller
{
    private readonly IWebHostEnvironment _environment;

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

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

    [HttpPost]
    public IActionResult CreateQRCode(QRCodeModel generateQRCode)
    {
        try
        {
            // Creating QR Code
            GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
            string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            string filePath = Path.Combine(path, "qrcode.png");
            barcode.SaveAsPng(filePath);

            string fileName = Path.GetFileName(filePath);
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";

            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception ex)
        {
            // Handle exceptions
            // Log the exception details here for troubleshooting and debugging.
            throw;
        }

        return View();
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System.IO

Public Class QrCodeController
	Inherits Controller

	Private ReadOnly _environment As IWebHostEnvironment

	Public Sub New(ByVal environment As IWebHostEnvironment)
		_environment = environment
	End Sub

	Public Function CreateQRCode() As IActionResult
		Return View()
	End Function

	<HttpPost>
	Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
		Try
			' Creating QR Code
			Dim barcode As GeneratedBarcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText)
			Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")

			If Not Directory.Exists(path) Then
				Directory.CreateDirectory(path)
			End If

			Dim filePath As String = System.IO.Path.Combine(path, "qrcode.png")
			barcode.SaveAsPng(filePath)

			Dim fileName As String = System.IO.Path.GetFileName(filePath)
			Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedQRCode/{fileName}"

			ViewBag.QrCodeUri = imageUrl
		Catch ex As Exception
			' Handle exceptions
			' Log the exception details here for troubleshooting and debugging.
			Throw
		End Try

		Return View()
	End Function
End Class
$vbLabelText   $csharpLabel

Ten kod konfiguruje kontroler, który może generować kody QR. Po wywołaniu akcji CreateQRCode pobiera ona tekst kodu QR, generuje obraz kodu QR, zapisuje go i udostępnia adres URL obrazu w widoku w celu wyświetlenia. Więcej szczegółów znajduje się poniżej:

  • Kontroler posiada konstruktor, który przyjmuje parametr IWebHostEnvironment w celu uzyskania dostępu do środowiska hostingu internetowego.
  • Akcja CreateQRCode zwraca widok.
  • Akcja CreateQRCode z atrybutem [HttpPost] przyjmuje parametr QRCodeModel, który zawiera tekst kodu QR.
  • W ramach tej akcji generowany jest kod QR przy użyciu klasy QRCodeWriter z biblioteki Iron BarCode.
  • Wygenerowany kod QR jest zapisywany jako plik graficzny PNG w folderze o nazwie GeneratedQRCode w katalogu głównym serwisu.
  • Jeśli folder GeneratedQRCode nie istnieje, zostanie utworzony.
  • Generowana jest ścieżka pliku i adres URL dla zapisanego obrazu kodu QR.
  • Adres URL obrazu kodu QR jest przechowywany we właściwości ViewBag.QrCodeUri w celu wykorzystania w widoku.
  • Wszelkie wyjątki występujące podczas procesu są wykrywane i rejestrowane.

Dodaj CreateQRCode Wyświetl

Aby dodać nowy widok, kliknij prawym przyciskiem myszy metodę akcji CreateQRCode w klasie QrCodeController. Wybierz "Dodaj widok", następnie wybierz "Widok Razor" i kliknij przycisk "Dodaj".

Jak generować kody QR w ASP.NET MVC: Rysunek 3

Pojawi się nowe okno, jak pokazano poniżej.

Jak generować kody QR w ASP.NET MVC: Rysunek 4

Wpisz nazwę widoku, wybierz szablon "Utwórz" i wybierz naszą nowo utworzoną klasę modelu QRCodeModel. Kliknij przycisk Dodaj. Widok zostanie utworzony. Zastąp swój widok poniższym kodem.

@model QRCodeModel

@{
    ViewData["Title"] = "CreateQRCode";
}

<h1>Create QRCode in ASP.NET MVC</h1>

<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">
                <input type="submit" value="Create" class="btn btn-primary" />
            </div>
            <div class="form-group">
                @if (ViewBag.QrCodeUri != null)
                {
                    <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Generated QR Code" />
                }
            </div>
        </form>
    </div>
</div>

@section Scripts {
    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

Przejdźmy teraz do klasy Program.cs i zmieńmy domyślną trasę kontrolera.

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=CreateQRCode}/{id?}")
$vbLabelText   $csharpLabel

Spowoduje to zmianę domyślnej trasy z HomeController na naszą QrCodeController.

Teraz skompiluj i uruchom projekt.

Wynik

Jak generować kody QR w ASP.NET MVC: Rysunek 5

Wpisz tekst w polu tekstowym i kliknij przycisk "Utwórz". Zostanie wygenerowany kod QR, który zostanie wyświetlony na ekranie, jak pokazano poniżej.

Jak generować kody QR w ASP.NET MVC: Rysunek 6 – Kod QR w ASP.NET

Teraz dodajmy stylizację wizualną do naszego BARCODE, dodając tekst adnotacji, wartość kodu QR oraz zmieniając kolor kodu QR.

Dodaj styl wizualny w kodzie QR

Dodaj następujący wiersz kodu wewnątrz metody akcji CreateQRCode.

barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ChangeBackgroundColor(System.Drawing.Color.White)
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed)
$vbLabelText   $csharpLabel

Teraz uruchom projekt i wygeneruj kod QR.

Jak generować kody QR w ASP.NET MVC: Rysunek 7 – Generowanie kodu QR

Wnioski

W ASP.NET MVC integracja IronBarcode jest prosta. Zapewnia przyjazny dla użytkownika interfejs, ułatwiający pracę z kodami QR. Korzystając z IronBarcode, możesz ulepszyć swoją aplikację, dodając funkcję kodów QR, umożliwiającą użytkownikom wygodne udostępnianie i uzyskiwanie dostępu do informacji. Biblioteka IronBarcode to cenna biblioteka, która upraszcza proces generowania i odczytywania kodów QR w ASP.NET MVC. Umożliwia to programistom tworzenie dynamicznych aplikacji, które wykorzystują możliwości kodów QR do wydajnego udostępniania i pobierania danych.

Iron BarCode jest bezpłatny do użytku osobistego. Jednak w celach komercyjnych należy zakupić licencję komercyjną, która jest dostępna wraz z bezpłatną wersją próbną. Możesz również uzyskać znaczną zniżkę, jeśli zdecydujesz się na zakup kompletnego pakietu Iron Suite. Iron Suite to kompleksowy zbiór komponentów oprogramowania .NET zaprojektowanych w celu uproszczenia zadań programistycznych i zwiększenia funkcjonalności. Oferuje pięć potężnych bibliotek, w tym IronBarCode, IronOCR, IronPDF, IronXL i WEBSCRAPER, które umożliwiają programistom płynną pracę z kodami kreskowymi, optycznym rozpoznawaniem znaków, przetwarzaniem plików PDF, Excel i CSV. Jeśli zdecydujesz się na zakup kompletnego pakietu Iron Suite, otrzymasz wszystkie pięć produktów w cenie dwóch.

Często Zadawane Pytania

Jak utworzyć kod QR w ASP.NET MVC?

Możesz utworzyć kod QR w ASP.NET MVC, konfigurując projekt w Visual Studio, instalując bibliotekę IronBarcode za pośrednictwem NuGet za pomocą polecenia Install-Package IronBarCode oraz wykorzystując klasy IronBarcode do wygenerowania kodu QR w kontrolerze i wyświetlenia go w widoku.

Czy mogę dostosować wygląd kodów QR w mojej aplikacji?

Tak, IronBarcode pozwala dostosować kody QR poprzez zmianę rozmiaru, rozdzielczości, kolorów oraz dodanie logo lub adnotacji, co może poprawić atrakcyjność wizualną i funkcjonalność kodów QR.

Jak wyświetlić kod QR w widoku ASP.NET MVC?

Po wygenerowaniu kodu QR za pomocą IronBarcode można go wyświetlić w widoku ASP.NET MVC, zapisując adres URL obrazu w ViewBag i używając tagu HTML w widoku Razor w celu wyrenderowania obrazu kodu QR.

Jak mogę odczytać kody QR za pomocą aplikacji .NET?

Kody QR można dekodować w aplikacji .NET za pomocą IronBarcode, który zapewnia funkcje skanowania i wyodrębniania danych z różnych formatów kodów kreskowych, w tym kodów QR, dzięki czemu nadaje się do zastosowań takich jak zarządzanie zapasami i weryfikacja biletów.

Czy istnieje bezpłatna wersja biblioteki IronBarcode?

IronBarcode jest bezpłatny do użytku osobistego, co pozwala programistom na eksperymentowanie i testowanie jego funkcji. Do użytku komercyjnego wymagana jest licencja, którą można nabyć i która obejmuje bezpłatną wersję próbną do oceny.

Jakie są zastosowania kodów QR w projektach ASP.NET MVC?

Kody QR w projektach ASP.NET MVC mogą być wykorzystywane do szybkiego dostępu do stron internetowych, płatności zbliżeniowych, sprzedaży biletów, zarządzania zapasami oraz integracji z aplikacjami mobilnymi, poprawiając interakcję z użytkownikiem i rozpowszechnianie informacji.

Jak skonfigurować projekt ASP.NET MVC do generowania kodów QR?

Aby skonfigurować projekt ASP.NET MVC do generowania kodów QR, użyj programu Visual Studio do utworzenia nowej aplikacji internetowej ASP.NET Core przy użyciu szablonu „Model-view-controller”, a następnie zainstaluj bibliotekę IronBarcode, aby rozpocząć generowanie kodów QR w swojej aplikacji.

Jakie biblioteki są zawarte w pakiecie Iron Suite?

Pakiet Iron Suite zawiera różne biblioteki .NET, takie jak Iron BarCode, Iron OCR, Iron PDF, Iron XL i WEBSCRAPER, z których każda oferuje specjalistyczne funkcje do zadań takich jak generowanie kodów kreskowych, optyczne rozpoznawanie znaków, obróbka plików PDF, przetwarzanie arkuszy Excel oraz pobieranie danych z sieci.

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