Jak drukować kod kreskowy w ASP.NET w C#
W tym artykułe pokażemy, jak drukować obrazy kodów kreskowych w aplikacjach internetowych ASP.NET przy użyciu języka C#. W tym przykładzie zostanie wykorzystany framework MVC, ale w zależności od potrzeb można również użyć ASP.NET Web Forms, Windows Forms lub Web API.
Podstawowa znajomość frameworka ASP.NET MVC pozwoli lepiej zrozumieć ten artykuł.
- Zainstaluj bibliotekę C# do drukowania pliku z kodami kreskowymi BarCode
- Konfiguracja modelu i kontrolera
- Wykorzystaj metodę
CreateBarCodedo utworzenia BarCODE w języku C# - Skonfiguruj widok, aby wyświetlał wygenerowany BARCODE
- Wydrukuj stronę internetową zawierającą obraz BARCODE za pomocą drukarki lub oprogramowania do drukowania do pliku PDF
Utwórz projekt MVC
Otwórz program Microsoft Visual Studio. Kliknij Utwórz nowy projekt > Wybierz Aplikacja internetowa ASP.NET z szablonów > Naciśnij Dalej > Nadaj nazwę projektowi > Naciśnij Dalej > Wybierz MVC > Kliknij przycisk Utwórz. Projekt zostanie utworzony zgodnie z poniższym opisem.
Utwórz nowy projekt ASP.NET
Dodaj model
Kliknij prawym przyciskiem myszy folder Models > Dodaj > Klasa....
Przejdź do okna dialogowego dodawania klasy
Pojawi się nowe okno. Nazwij swoją klasę jako BarcodeModel.
Wpisz poniższy kod w klasie modelu.
using System.ComponentModel.DataAnnotations;
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
using System.ComponentModel.DataAnnotations;
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
Imports System.ComponentModel.DataAnnotations
Public Class BarcodeModel
<Display(Name :="Barcode File Name")>
Public Property FileName() As String
<Display(Name := "Barcode Content")>
Public Property BarcodeContent() As String
End Class
FileName zostanie użyte do uzyskania nazwy obrazu BARCODE od użytkownika. Symbol BarcodeContent służy do pobrania treści BARCODE.
Dodaj kontroler
Następnie do projektu dodaje się Controller. Będzie komunikować się z View i Model przy użyciu modelu MVC. Kod służący do generowania BARCODE składa się zaledwie z dwóch lub trzech wierszy. Dlatego nie ma potrzeby tworzenia oddzielnej klasy; zamiast tego kod jest dodawany wewnątrz kontrolera.
Aby dodać kontroler, kliknij prawym przyciskiem myszy folder Controllers > Dodaj > Kontroler. Pojawi się nowe okno. Wybierz MVC 5 Controller Empty. Kliknij przycisk Dodaj. Pojawi się nowe okienko.
Dodaj okno dialogowe kontrolera
Wpisz nazwę kontrolera, na przykład BarcodeController. Kliknij przycisk Dodaj. Zostanie wygenerowany nowy kontroler.
Kolejnym krokiem jest zainstalowanie biblioteki BarCode.
Zainstaluj bibliotekę BarCode
Jako bibliotekę zewnętrzną do generowania kodów kreskowych zaleca się bibliotekę IronBarcode. Jest bezpłatny do celów programistycznych i oferuje wiele funkcji dostosowywania kodów kreskowych, takich jak dodawanie logo do obrazu BarCode, dodawanie wartości poniżej lub powyżej BarCode, dodawanie adnotacji poniżej lub powyżej BarCode, zmiana rozmiaru BarCode, zapisywanie BarCode w wielu formatach obrazu itp. Aby uzyskać więcej informacji, kliknij tutaj.
Przejdź do konsoli menedżera pakietów. Wpisz następujące polecenie i naciśnij Enter.
Install-Package BarCode
To polecenie zainstaluje bibliotekę IronBarcode w projekcie.
Wygeneruj BarCode
Następnie dodaj poniższy przykładowy kod do kontrolera.
using System.IO;
using System.Linq;
using System.Web.Mvc;
using IronBarCode;
public class BarcodeController : Controller
{
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
// Create a barcode with the specified content and encoding
var MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
// Define the path where the barcode image will be saved
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
// Add the barcode value text above the barcode
MyBarCode.AddBarcodeValueTextAboveBarcode();
// Save the generated barcode as a JPEG file
MyBarCode.SaveAsJpeg(filepath);
// Retrieve the first file from the directory as a sample image
string image = Directory.GetFiles(path).FirstOrDefault();
// Pass the image path to the view
ViewBag.FileName = image;
return View();
}
catch
{
// Handle any exceptions that occur
return View();
}
}
}
using System.IO;
using System.Linq;
using System.Web.Mvc;
using IronBarCode;
public class BarcodeController : Controller
{
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
// Create a barcode with the specified content and encoding
var MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
// Define the path where the barcode image will be saved
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
// Add the barcode value text above the barcode
MyBarCode.AddBarcodeValueTextAboveBarcode();
// Save the generated barcode as a JPEG file
MyBarCode.SaveAsJpeg(filepath);
// Retrieve the first file from the directory as a sample image
string image = Directory.GetFiles(path).FirstOrDefault();
// Pass the image path to the view
ViewBag.FileName = image;
return View();
}
catch
{
// Handle any exceptions that occur
return View();
}
}
}
Imports System.IO
Imports System.Linq
Imports System.Web.Mvc
Imports IronBarCode
Public Class BarcodeController
Inherits Controller
<HttpPost>
Public Function CreateBarcode(ByVal model As BarcodeModel) As ActionResult
Try
' Create a barcode with the specified content and encoding
Dim MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128)
' Define the path where the barcode image will be saved
Dim path As String = Server.MapPath("~/Files/")
Dim filepath As String = System.IO.Path.Combine(path, model.FileName)
' Add the barcode value text above the barcode
MyBarCode.AddBarcodeValueTextAboveBarcode()
' Save the generated barcode as a JPEG file
MyBarCode.SaveAsJpeg(filepath)
' Retrieve the first file from the directory as a sample image
Dim image As String = Directory.GetFiles(path).FirstOrDefault()
' Pass the image path to the view
ViewBag.FileName = image
Return View()
Catch
' Handle any exceptions that occur
Return View()
End Try
End Function
End Class
try-catchsłuży do przechwytywania wszelkich wyjątków wykonawczych.- Funkcja
CreateBarcodeudostępniana przez klasęBarcodeWriterprzyjmuje dwa argumenty: zawartość kodu BarCode oraz schemat kodowania. Ponadto akceptuje również 11 innych opcjonalnych argumentów, w tym maksymalną wysokość, maksymalną szerokość i tak dalej. - Funkcja
Server.MapPathsłuży do określenia ścieżki, w której będą zapisywane wygenerowane obrazy BARCODE. MetodaPath.Combinepołączy ścieżkę i nazwę obrazu BarCode. - Funkcja
AddBarcodeValueTextAboveBarcodedoda wartość kodu BarCode. IronBarcode oferuje inne ustawienia kodów kreskowych, takie jakmax-height,max-width,barcode,colori tak dalej. Możesz zapoznać się z różnymi parametrami i z nich korzystać. - Funkcja
SaveAsJpegprzyjmuje ścieżkę jako argument i zapisuje wygenerowane BarCodes w tej konkretnej ścieżce. - Metoda
Directory.GetFilespobierze nowo wygenerowany obraz BARCODE. ViewBag.FileNamesłuży do wysłania ścieżki obrazu BarCode do widoku w celu wyświetlenia wygenerowanego obrazu BarCode.
Kody QR można również generować w ten sam sposób, zmieniając schemat kodowania z Code128 na QRCode.
Dodaj Wyświetl
Kolejnym krokiem jest zapewnienie strony klienckiej dla tej aplikacji internetowej ASP.NET poprzez dodanie nowego widoku. Kliknij prawym przyciskiem myszy nazwę metody kontrolera i kliknij przycisk "Dodaj widok".
Przejdź do dodawania okna dialogowego
Pojawi się nowe okno. Wybierz widok MVC 5 i kliknij przycisk Dodaj.
Pojawi się nowe pole tekstowe, jak pokazano poniżej.
Dodaj okno dialogowe
Nadaj nazwę widokowi i kliknij przycisk Dodaj. Zostanie utworzony nowy plik .cshtml.
Dodaj poniższy kod do nowo wygenerowanego widoku.
@model GenerateBarcodeMVC.Models.BarcodeModel
@{
ViewBag.DisplayBarcode = false;
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>GenerateBarcode</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<img src="~/Files/@Path.GetFileName(ViewBag.FileName)" alt="Barcode" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
@model GenerateBarcodeMVC.Models.BarcodeModel
@{
ViewBag.DisplayBarcode = false;
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>GenerateBarcode</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<img src="~/Files/@Path.GetFileName(ViewBag.FileName)" alt="Barcode" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Następnie kliknij prawym przyciskiem myszy wewnątrz okna podglądu i kliknij przycisk "Uruchom w przeglądarce".
Wynik
Uruchom aplikację internetową, aby wyświetlić formularz tworzenia
Wprowadź nazwę obrazu BARCODE oraz zawartość BARCODE, jak pokazano poniżej:
Wprowadź treść kodu kreskowego BARCODE
Kliknij przycisk Utwórz. Obraz BarCode zostanie wygenerowany i wyświetlony na ekranie, jak pokazano poniżej.
Wygeneruj BARCODE z adresu URL
Podsumowanie
W tym samouczku pokazano, jak generować kody kreskowe przy użyciu ASP.NET w języku C# w połączeniu z frameworkiem MVC. Jako środowisko IDE używane jest Microsoft Visual Studio. IronPDF to biblioteka innej firmy, która jest bezpłatna do celów programistycznych i kompatybilna ze wszystkimi wersjami .NET Framework, w tym z nowo wydaną wersją. IronBarcode działa szybko i oferuje wiele funkcji do pracy z kodami kreskowymi. Może również generować kody QR poprzez określenie różnych typów.
Istnieje wiele innych przydatnych bibliotek, takich jak IronPDF do pracy z dokumentami PDF, IronXL do pracy z dokumentami Excel oraz IronOCR do pracy z OCR. Obecnie można nabyć wszystkie pięć bibliotek w cenie zaledwie dwóch, kupując kompletny pakiet Iron Suite. Więcej szczegółów można znaleźć na naszej stronie poświęconej licencjom.
Często Zadawane Pytania
Jak mogę generować i drukować obrazy kodów kreskowych w ASP.NET MVC przy użyciu języka C#?
Możesz użyć biblioteki IronBarcode do generowania i drukowania obrazów kodów kreskowych w aplikacjach ASP.NET MVC. Wymaga to utworzenia projektu MVC, zainstalowania IronBarcode za pomocą konsoli Package Manager Console oraz użycia metody `BarcodeWriter.CreateBarcode` do generowania kodów kreskowych.
Jakie kroki należy wykonać, aby utworzyć nowy projekt MVC do drukowania kodów kreskowych?
Aby utworzyć nowy projekt MVC do drukowania kodów kreskowych, otwórz program Microsoft Visual Studio, wybierz opcję „Utwórz nowy projekt”, wybierz „Aplikacja internetowa ASP.NET”, a następnie wybierz „MVC” spośród dostępnych szablonów.
Jak zainstalować bibliotekę IronBarcode do generowania kodów kreskowych w języku C#?
Zainstaluj bibliotekę IronBarcode, otwierając konsolę menedżera pakietów w Visual Studio i wykonując polecenie: Install-Package IronBarcode.
Jak zapisać wygenerowany obraz kodu kreskowego w języku C#?
Wygenerowany obraz BARCODE można zapisać za pomocą metody `SaveAsJpeg` udostępnianej przez IronBarcode, określając ścieżkę do pliku, w którym obraz ma zostać zapisany.
Czy mogę dostosować obrazy BarCode w aplikacjach ASP.NET?
Tak, IronBarcode umożliwia dostosowywanie obrazów kodów kreskowych, w tym dodawanie logo, adnotacji oraz zmianę rozmiaru i wymiarów w celu dostosowania do potrzeb użytkownika.
Jak wyświetlić wygenerowany kod kreskowy w widoku MVC?
Aby wyświetlić wygenerowany kod kreskowy w widoku MVC, utwórz widok w swoim projekcie i przekaż ścieżkę do obrazu kodu kreskowego do widoku za pomocą `ViewBag`. Umożliwi to wyświetlenie kodu kreskowego po stronie klienta.
Co należy zrobić, jeśli podczas generowania kodu kreskowego pojawią się błędy?
Użyj bloku try-catch w kodzie C#, aby obsłużyć wszelkie wyjątki wykonawcze, które mogą wystąpić podczas procesu generowania kodów barcode, zapewniając solidną obsługę błędów.
Czy możliwe jest generowanie kodów QR przy użyciu tej samej metody, co w przypadku kodów BARCODE?
Tak, korzystając z IronBarcode, można generować kody QR, ustawiając schemat kodowania na `QRCode` w metodzie `BarcodeWriter.CreateBarcode`.
Jakie inne biblioteki oprogramowania Iron Software są zalecane do zarządzania dokumentami?
Oprócz biblioteki IronBarcode firma Iron Software oferuje inne biblioteki, takie jak IronPDF, IronXL i IronOCR. Biblioteki te zapewniają kompleksowe rozwiązania do zadań związanych z zarządzaniem dokumentami.




