Przejdź do treści stopki
KORZYSTANIE Z IRONBARCODE

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. Nie opierając się na System.Drawing.Common i .NET Graphics API, które od wersji .NET 6 są specyficzne dla systemu Windows, IronBarcode umożliwia funkcjonalność międzyplatformową 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.

  1. .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.
  2. 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.
  3. Biblioteka IronBarcode: Pobierz i zainstaluj bibliotekę IronBarcode ze strony internetowej Iron Software lub za pośrednictwem menedżera pakietów NuGet. Bibliotekę można zainstalować za pomocą konsoli NuGet Package Manager Console, 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.

Jak dynamicznie generować i wyświetlać BARCODE w ASP.NET MVC: Rysunek 1

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

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 2

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

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 3

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

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 4

Tworzony jest projekt .NET.

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 5

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.

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 6

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

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 7

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.

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 8

Wprowadź następujący wiersz w zakładce konsoli menedżera pakietów: Install-Package BarCode.

Pakiet zostanie pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.

Jak dynamicznie generować i wyświetlać BARCODE w ASP.NET MVC: Rysunek 9

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 model 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; }
    }
}
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 Namespace
$vbLabelText   $csharpLabel

Utwórz folder o nazwie "GeneratedBARCODE" w folderze wwwroot, aby przechowywać wygenerowane obrazy BARCODE.

Jak dynamicznie generować i wyświetlać BARCODE w ASP.NET MVC: Rysunek 10

Dodaj następującą metodę akcji w 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();
        }
    }
}
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 Namespace
$vbLabelText   $csharpLabel

Metoda 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. W celu większej personalizacji mogą być wymagańe dodatkowe biblioteki, takie jak Iron Drawing do instalacji czcionki BarCode. 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.

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 11

Wybierz Razor View i kliknij Dodaj.

Jak dynamicznie generować i wyświetlać BarCodes w ASP.NET MVC: Rysunek 12

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

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 13

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 gotowe, wystarczy otworzyć plik _Layout.cshtml i dodać 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>
<li class="nav-item">
    <a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
HTML

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

Jak dynamicznie generować i wyświetlać BarCode w ASP.NET MVC: Rysunek 14

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.

Często Zadawane Pytania

Jak dynamicznie generować obrazy BARCODE w ASP.NET MVC?

Możesz użyć biblioteki IronBarcode do dynamicznego generowania obrazów kodów kreskowych w ASP.NET MVC poprzez zintegrowanie jej API z Twoim projektem. Ta biblioteka C# obsługuje różne formaty kodów kreskowych i pozwala na dostosowanie wymiarów, kolorów i tekstu.

Jakie są zalety korzystania z IronBarcode w aplikacjach ASP.NET MVC?

IronBarcode zapewnia funkcjonalność wieloplatformową bez konieczności korzystania z interfejsów API .NET Graphics specyficznych dla systemu Windows. Obsługuje wiele formatów kodów kreskowych, oferuje opcje dostosowywania oraz umożliwia odczytywanie i dekodowanie kodów kreskowych z obrazów, plików PDF i obrazu na żywo z kamery.

Jak zintegrować IronBarcode z projektem ASP.NET MVC?

Aby zintegrować IronBarcode z projektem ASP.NET MVC, należy zainstalować bibliotekę IronBarcode za pomocą menedżera pakietów NuGet w Visual Studio, skonfigurować model danych kodów kreskowych, utworzyć kontroler do obsługi generowania kodów kreskowych oraz zaprojektować widok do interakcji z użytkownikiem i wyświetlania kodów kreskowych.

Jakie formaty kodów kreskowych są obsługiwane podczas generowania w ASP.NET MVC przy użyciu IronBarcode?

IronBarcode obsługuje generowanie szerokiej gamy formatów kodów kreskowych w ASP.NET MVC, w tym Code 39, Code 128, QR Code, Data Matrix i PDF417.

Czy mogę dostosować wygląd obrazów kodów kreskowych generowanych za pomocą IronBarcode?

Tak, IronBarcode umożliwia dostosowywanie obrazów kodów kreskowych, w tym zmianę formatu, kolorów, wymiarów i czcionek, a także dodawanie tekstu lub logo do kodu kreskowego.

Jak rozwiązywać problemy związane z generowaniem kodów kreskowych w ASP.NET MVC?

Jeśli napotkasz problemy podczas generowania kodów kreskowych w ASP.NET MVC, upewnij się, że biblioteka IronBarcode jest poprawnie zainstalowana, wszystkie zależności są spełnione, a model danych kodów kreskowych i konfiguracja kontrolera są poprawnie zaimplementowane. Dodatkowe wskazówki znajdziesz w dokumentacji IronBarcode.

Czy możliwe jest dekodowanie kodów kreskowych w aplikacji ASP.NET MVC przy użyciu IronBarcode?

Tak, IronBarcode zawiera funkcję dekodowania kodów kreskowych z różnych źródeł, takich jak obrazy, dokumenty PDF i obraz na żywo z kamery, nawet jeśli są one częściowo uszkodzone.

Jakie są wymagania wstępne dotyczące konfiguracji projektu ASP.NET MVC z wykorzystaniem IronBarcode?

Konieczne jest zainstalowanie platformy .NET Framework lub .NET Core, programu Visual Studio oraz biblioteki IronBarcode, którą można pobrać ze strony internetowej Iron Software lub zainstalować za pomocą menedżera pakietów NuGet.

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