
Jak dynamicznie generować i wyświetlać kod kreskowy w ASP.NET MVC
ASP.NET MVC to popularny framework do tworzenia stron internetowych, który pozwala programistom budować solidne i dynamiczne aplikacje internetowe. Częstym wymaganiem w aplikacjach internetowych jest możliwość generowania i wyświetlania obrazów BarCode. Obrazy BarCode służą do przedstawiania danych w formacie nadającym się do odczytu maszynowego i mogą być odczytywane przez skaner BarCode.
Dynamiczne generowanie i wyświetlanie obrazów kodów kreskowych w ASP.NET MVC można osiągnąć za pomocą wiodącej na rynku biblioteki C#, IronBarcode. Biblioteka ta udostępnia interfejsy API, które umożliwiają programistom łatwe generowanie obrazów BARCODE na różnych platformach w różnych formatach, takich jak Code 39, Code 128 i QR Code. Bez konieczności polegania na System.Drawing.Common i .NET Graphics API, które są specyficzne dla Windows od .NET 6, IronBarcode umożliwia funkcjonalności międzyplatformowe i zapewnia większą kompatybilność źródłową.
IronBarcode
Biblioteka IronBarcode to popularna biblioteka kodów kreskowych .NET, która zapewnia szeroki zakres funkcji do tworzenia, odczytu i manipulowania obrazami kodów kreskowych w aplikacjach .NET. Biblioteka jest tworzona i utrzymywana przez Iron Software, firmę zajmującą się tworzeniem oprogramowania, która specjalizuje się w komponentach i bibliotekach .NET. IronBarcode obsługuje szeroki zakres formatów kodów kreskowych, w tym Code 128, Code 39, QR Code, Data Matrix i PDF417. Biblioteka IronBarcode oferuje również funkcje generowania kodów kreskowych o niestandardowych wymiarach, kolorach i czcionkach oraz dodawania tekstu i logo do obrazów kodów kreskowych.
Oprócz generowania kodów kreskowych, IronBarcode zawiera również funkcje odczytu i dekodowania obrazów kodów kreskowych. Biblioteka może odczytywać i dekodować BARCODES z obrazów, dokumentów PDF oraz obrazów z kamer na żywo. Obsługuje zarówno formaty kodów kreskowych 1D, jak i 2D, a nawet potrafi rozpoznać kody kreskowe, które są częściowo zasłonięte lub uszkodzone.
Wymagania wstępne
Przed rozpoczęciem pracy z IronBarcode w aplikacji .NET należy spełnić kilka warunków wstępnych.
-
.NET Framework lub .NET Core: IronBarcode jest zaprojektowany do pracy zarówno z .NET Framework, jak i .NET Core. Upewnij się, że w Twoim środowisku programistycznym zainstalowana jest odpowiednia wersja .NET.
-
Visual Studio: IronBarcode można zintegrować z Visual Studio w celu ułatwienia tworzenia oprogramowania i testowania. Można korzystać z wersji Visual Studio Community, Professional lub Enterprise. Można je pobrać ze strony internetowej Visual Studio.
-
Biblioteka IronBarcode: Pobierz i zainstaluj bibliotekę IronBarcode ze strony Iron Software lub poprzez menedżer pakietów NuGet. Bibliotekę można zainstalować za pomocą konsoli Menedżera pakietów NuGet, uruchamiając następujące polecenie:
Install-Package BarCode.IronBarcode jest bezpłatny do celów programistycznych, ale wymaga licencji do użytku komercyjnego i wdrożeniowego. Możesz skorzystać z bezpłatnej wersji próbnej, aby przetestować wszystkie jej funkcje.
Tworzenie nowego projektu ASP.NET MVC
Otwórz program Visual Studio i kliknij opcję Utwórz nowy projekt.

W nowym oknie znajdź i wybierz "ASP.NET MVC (Web App) Model View Controller", a następnie kliknij przycisk Dalej.

Wpisz nazwę nowego projektu i jego lokalizację, a następnie kliknij Dalej.

Wybierz wersję .NET, której chcesz użyć, pozostaw pozostałe opcje bez zmian i kliknij Utwórz.

Tworzony jest projekt .NET.

Zainstaluj IronBarcode
1. Korzystanie z menedżera pakietów NuGet
Ta opcja jest dostępna w programie Visual Studio i spowoduje zainstalowanie pakietu IronBarcode bezpośrednio w Twoim rozwiązaniu. Przejdź do narzędzi i kliknij NuGet Package Manager, jak pokazano na ilustracji.

Wyszukaj bibliotekę IronBarcode, korzystając z pola wyszukiwania w menedżerze pakietów NuGet. Wybierz opcję IronBarcode z listy dostępnych pakietów.

2. Korzystanie z wiersza poleceń programu Visual Studio
W menu Visual Studio przejdź do Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów.

Wprowadź następującą linię w karcie konsoli menedżera pakietów: Install-Package BarCode.
Pakiet zostanie pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.

Generowanie i wyświetlanie obrazów kodów kreskowych za pomocą IronBarcode
Teraz, gdy nasze środowisko jest już skonfigurowane, możemy przejść do pisania kodu, który pozwoli nam dynamicznie generować obraz BARCODE w ASP.NET MVC.
Najpierw utwórz klasę w folderze modelu o nazwie GenerateBarcodeModel.cs
using System.ComponentModel.DataAnnotations;
namespace GenerateBarcodeMVCCore6_Demo.Models
{
public class GenerateBarcodeModel
{
[Display(Name = "Enter Barcode Text")]
public string Barcode { get; set; }
}
}Imports System.ComponentModel.DataAnnotations
Namespace GenerateBarcodeMVCCore6_Demo.Models
Public Class GenerateBarcodeModel
<Display(Name := "Enter Barcode Text")>
Public Property Barcode() As String
End Class
End NamespaceUtwórz folder o nazwie "GeneratedBarcode" w folderze wwwroot, aby przechowywać wygenerowane obrazy kodów kreskowych.

Dodaj następującą metodę akcji w swojej klasie HomeController.cs w folderze "controllers".
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;
namespace YourNamespace.Controllers
{
public class HomeController : Controller
{
private readonly IWebHostEnvironment _environment;
public HomeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateBarcode()
{
return View();
}
// Handling POST operation inside this Action method
[HttpPost]
public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
{
try
{
// Create a barcode using the input text
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);
// Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Styling the Barcode
barcode.ResizeTo(400, 120);
barcode.ChangeBarCodeColor(Color.Red);
barcode.SetMargins(10);
// Define path to save the barcode image
string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
// Save the generated barcode as a PNG file
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
barcode.SaveAsPng(filePath);
// Get the file name and URL for the generated barcode image
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedBarcode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
}
}Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.IO
Namespace YourNamespace.Controllers
Public Class HomeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateBarcode() As IActionResult
Return View()
End Function
' Handling POST operation inside this Action method
<HttpPost>
Public Function CreateBarcode(ByVal generateBarcode As GenerateBarcodeModel) As IActionResult
Try
' Create a barcode using the input text
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128)
' Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Styling the Barcode
barcode.ResizeTo(400, 120)
barcode.ChangeBarCodeColor(Color.Red)
barcode.SetMargins(10)
' Define path to save the barcode image
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
' Save the generated barcode as a PNG file
Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")
barcode.SaveAsPng(filePath)
' Get the file name and URL for the generated barcode image
Dim fileName As String = System.IO.Path.GetFileName(filePath)
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedBarcode/{fileName}"
ViewBag.QrCodeUri = imageUrl
Catch e1 As Exception
Throw
End Try
Return View()
End Function
End Class
End NamespaceMetoda akcji w powyższym kodzie będzie obsługiwać żądanie wysłania wygenerowane z widoku, który stworzymy później. Dzięki IronBarcode można dostosować format BarCode, element obrazu, czcionkę BarCode oraz element obrazu HTML. Dodatkowe biblioteki mogą być potrzebne dla większej personalizacji, takie jak IronDrawing do instalacji fontów kodów kreskowych. Bardziej szczegółową dokumentację API można znaleźć tutaj.
Teraz możemy utworzyć widok dla naszej metody generatora kodów kreskowych BarCode.
W pliku HomeController.cs kliknij prawym przyciskiem myszy metodę CreateBarcode i wybierz opcję Dodaj widok.

Wybierz Razor View i kliknij Dodaj.

Wybierz parametry zgodnie z poniższym obrazkiem i kliknij Dodaj. Automatycznie doda widok dla tej metody.

Możesz zmodyfikować wygenerowany kod, aby dostosować interfejs do swoich potrzeb.
@model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel
@{
ViewData["Title"] = "CreateBarcode";
}
<h1>CreateBarcode</h1>
<form asp-action="CreateBarcode" method="post">
<div>
<label asp-for="Barcode"></label>
<input asp-for="Barcode" />
<span asp-validation-for="Barcode"></span>
</div>
<button type="submit">Generate Barcode</button>
</form>
@if (ViewBag.QrCodeUri != null)
{
<div>
<img src="@ViewBag.QrCodeUri" alt="Barcode Image" />
</div>
}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Teraz wszystko jest skonfigurowane, po prostu otwórz plik _Layout.cshtml i dodaj kod, aby dodać opcję CreateBarcode w navbar.
<li class="nav-item">
<a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
Teraz uruchom aplikację, wpisz tekst w polu tekstowym i kliknij przycisk Generuj BARCODE, a aplikacja dynamicznie utworzy i wyświetli obraz BARCODE.
5.1. Wynik

6. Podsumowanie
Dynamiczne generowanie i wyświetlanie obrazów kodów kreskowych w aplikacjach ASP.NET MVC można osiągnąć za pomocą biblioteki IronBarcode — potężnej biblioteki kodów kreskowych .NET, która zapewnia szeroki zakres funkcji do tworzenia, odczytu i manipulowania obrazami kodów kreskowych w aplikacjach .NET. Spełniając wymagania wstępne, takie jak instalacja .NET Framework, programu Visual Studio oraz biblioteki IronBarcode, programiści mogą z łatwością tworzyć projekty ASP.NET MVC oraz generować i wyświetlać obrazy kodów kreskowych w różnych formatach, takich jak Code 39, Code 128 i QR Code. Biblioteka IronBarcode zapewnia programistom funkcje generowania kodów kreskowych o niestandardowych wymiarach, kolorach i czcionkach oraz dodawania tekstu i logo do obrazów kodów kreskowych. Oprócz generowania kodów kreskowych, IronBarcode zawiera również funkcje odczytu i dekodowania obrazów kodów kreskowych. Dzięki IronBarcode programiści mogą z łatwością tworzyć wydajne i dynamiczne aplikacje internetowe, które spełniają ich potrzeby biznesowe. Aby zapoznać się z powiązanym samouczkiem na ten temat, odwiedź poniższy link. Aby zapoznać się z samouczkiem krok po kroku dotyczącym generowania kodów BARCODE i kodów QR, proszę przejść do poniższego linku.

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.
Powiązane artykuły


