Przejdź do treści stopki
KORZYSTANIE Z IRONBARCODE
Jak wygenerowac kody QR w ASP .NET MVC za pomoca C# | 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 artykule zbadamy, jak generować kody QR w ASP.NET MVC, korzystając z biblioteki IronBarcode.

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 zaczynasz nowy projekt, czy pracujesz z istniejącym, kroki opisane poniżej poprowadzą cię przez proces integracji biblioteki IronBarcode w aplikacji. 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ę IronBarcode w naszej aplikacji.

Zainstaluj IronBarcode

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ę IronBarcode 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 swoim projekcie ASP.NET MVC, utwórz nowy kontroler o nazwie QrCodeController. Aby to zrobić, kliknij prawym przyciskiem myszy folder Kontrolery w strukturze projektu, wybierz "Dodaj", a następnie wybierz "Kontroler". Z dostępnych opcji wybierz "MVC Kontroler - Pusty".

Napisz 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. Gdy wywoływana jest akcja CreateQRCode, pobiera tekst dla kodu QR, generuje obraz kodu QR, zapisuje go i udostępnia adres URL do obrazu w widoku do wyświetlenia. Więcej szczegółów znajduje się poniżej:

  • Kontroler posiada konstruktor, który przyjmuje parametr IWebHostEnvironment, aby uzyskać dostęp do środowiska hostingu sieciowego.
  • Akcja CreateQRCode zwraca widok.
  • Akcja CreateQRCode z atrybutem [HttpPost] pobiera parametr QRCodeModel, który zawiera tekst kodu QR.
  • Wewnątrz akcji generowany jest kod QR za pomocą klasy QRCodeWriter z biblioteki IronBarcode.
  • Wygenerowany kod QR jest zapisywany jako plik obrazu PNG w katalogu o nazwie GeneratedQRCode w ścieżce korzenia sieci.
  • Jeśli folder GeneratedQRCode nie istnieje, zostaje utworzony.
  • Generowana jest ścieżka pliku i adres URL dla zapisanego obrazu kodu QR.
  • Adres URL obrazu kodu QR przechowywany jest w właściwości ViewBag.QrCodeUri do użycia w widoku.
  • Wszelkie wyjątki występujące podczas procesu są wykrywane i rejestrowane.

Dodaj widok CreateQRCode

Teraz, 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

Napisz 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"); }
}

Teraz przejdźmy 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

To zmieni domyślną trasę 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ącą linię kodu wewnątrz metody Action 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.

IronBarcode jest darmowy 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 Iron Webscraper, które umożliwiają deweloperom płynne pracę z kodami kreskowymi, optycznym rozpoznawaniem znaków, przetwarzaniem PDF, Excelu i plików 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 <IMG> 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.

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