Przejdź do treści stopki
KORZYSTANIE Z IRONBARCODE

Generuj kody kreskowe w aplikacjach internetowych ASP.NET Core

Włączenie generowania kodów BarCode do aplikacji internetowej ASP.NET otwiera potężne możliwości w zakresie zarządzania zapasami, śledzenia produktów i automatyzacji dokumentów. Ten samouczek pokazuje, jak generować kody kreskowe w projekcie .NET Core przy użyciu biblioteki IronBarcode — biblioteki kodów kreskowych obsługującej ponad 30 formatów, w tym QR Code, Data Matrix, Code 128 i UPC A.

Poniższy krótki przykład pokazuje, jak utworzyć BarCode Code 128 i zwrócić go jako obraz PNG z akcji kontrolera MVC:

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public IActionResult GenerateBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    barcode.AddBarcodeValueTextBelowBarcode();
    byte[] barcodeBytes = barcode.ToPngBinaryData();
    return File(barcodeBytes, "image/png");
}
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public IActionResult GenerateBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    barcode.AddBarcodeValueTextBelowBarcode();
    byte[] barcodeBytes = barcode.ToPngBinaryData();
    return File(barcodeBytes, "image/png");
}
Imports IronBarCode
Imports Microsoft.AspNetCore.Mvc

Public Function GenerateBarcode(data As String) As IActionResult
    Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128)
    barcode.ResizeTo(400, 120)
    barcode.AddBarcodeValueTextBelowBarcode()
    Dim barcodeBytes As Byte() = barcode.ToPngBinaryData()
    Return File(barcodeBytes, "image/png")
End Function
$vbLabelText   $csharpLabel

Rozpocznij bezpłatny okres próbny, aby śledzić poniższe przykłady kodu z kompletnego samouczka.

Jak zainstalować bibliotekę BarCode w projekcie .NET Core?

Dodanie funkcji generowania kodów kreskowych do aplikacji internetowej ASP.NET Core wymaga zainstalowania pakietu IronBarcode NuGet. Otwórz Visual Studio i użyj konsoli menedżera pakietów, aby zainstalować zależności:

Install-Package BarCode

Pakiet jest kompatybilny z .NET Core 6, 7, 8, 10 i nowszymi wersjami, a także z .NET Framework 4.6.2+. Biblioteka automatycznie obsługuje wszystkie zależności, nie wymagając dodatkowych czcionek BARCODE ani konfiguracji systemu. Po zainstalowaniu dodaj odwołanie do przestrzeni nazw do pliku kontrolera lub usługi:

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

Jakie wersje .NET i platformy są obsługiwane?

IronBarcode jest przeznaczony dla wszystkich nowoczesnych środowisk uruchomieniowych .NET:

  • .NET 10, 9, 8, 7, 6 — w pełni obsługiwane wersje LTS i STS
  • .NET Framework 4.6.2+ — obsługa starszych aplikacji
  • Środowiska docelowe — Windows, Linux, macOS, Docker, Azure, AWS
  • Urządzenia mobilne — Android i iOS za pośrednictwem .NET MAUI

Nie są wymagańe żadne zewnętrzne biblioteki GD, natywne kodeki ani instalacje czcionek BARCODE. Biblioteka jest całkowicie samowystarczalna i wewnętrznie obsługuje całą logikę kodowania.

Jak dodać przestrzeń nazw do kontrolera?

Po zainstalowaniu pakietu NuGet należy odwołać się do przestrzeni nazw IronBarCode na początku dowolnego kontrolera, usługi lub modelu strony Razor, gdzie wymagańe jest generowanie BARCODE-ów:

using IronBarCode;
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using Microsoft.AspNetCore.Mvc;
Imports IronBarCode
Imports Microsoft.AspNetCore.Mvc
$vbLabelText   $csharpLabel

Ta pojedyncza dyrektywa using zapewnia dostęp do BarcodeWriter, QRCodeWriter, BarcodeReader oraz wszystkich typów pomocniczych zarówno do generowania, jak i odczytu BARCODE-ów.

Jak generować BARCODES w aplikacji internetowej ASP.NET Core?

Tworzenie kodów kreskowych w kontrolerze MVC wymaga użycia klasy BarcodeWriter z biblioteki IronBarcode. Poniższy przykład przedstawia kompletną akcję kontrolera, która tworzy BARCODE Code 128 na podstawie adresu URL lub tekstu podanego przez użytkownika:

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public class BarcodeController : Controller
{
    public IActionResult GenerateBarcode(string data)
    {
        // Generate barcode from input data
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
            data,
            BarcodeWriterEncoding.Code128);
        barcode.ResizeTo(400, 120);
        barcode.AddBarcodeValueTextBelowBarcode();
        // Return as image for display in browser
        byte[] barcodeBytes = barcode.ToPngBinaryData();
        return File(barcodeBytes, "image/png");
    }
}
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public class BarcodeController : Controller
{
    public IActionResult GenerateBarcode(string data)
    {
        // Generate barcode from input data
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
            data,
            BarcodeWriterEncoding.Code128);
        barcode.ResizeTo(400, 120);
        barcode.AddBarcodeValueTextBelowBarcode();
        // Return as image for display in browser
        byte[] barcodeBytes = barcode.ToPngBinaryData();
        return File(barcodeBytes, "image/png");
    }
}
Imports IronBarCode
Imports Microsoft.AspNetCore.Mvc

Public Class BarcodeController
    Inherits Controller

    Public Function GenerateBarcode(data As String) As IActionResult
        ' Generate barcode from input data
        Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128)
        barcode.ResizeTo(400, 120)
        barcode.AddBarcodeValueTextBelowBarcode()
        ' Return as image for display in browser
        Dim barcodeBytes As Byte() = barcode.ToPngBinaryData()
        Return File(barcodeBytes, "image/png")
    End Function
End Class
$vbLabelText   $csharpLabel

Wynikowy obraz BarCode

Generowanie BarCodes w ASP .NET: Stwórz generator BarCodes dla swojej aplikacji internetowej: Obraz 1 – Wygenerowany BarCode

Metoda BarcodeWriter.CreateBarcode() przyjmuje dane BarCode jako pierwszy parametr, a format kodowania jako drugi. To podejście pozwala na dynamiczne tworzenie BARCODE-ów na podstawie danych wprowadzonych przez użytkownika lub wartości z bazy danych.

Aby zapisać obrazy BarCode w folderze projektu, użyj metody SaveAsImage():

barcode.SaveAsImage("wwwroot/images/generated-barcode.png");
barcode.SaveAsImage("wwwroot/images/generated-barcode.png");
barcode.SaveAsImage("wwwroot/images/generated-barcode.png")
$vbLabelText   $csharpLabel

Biblioteka obsługuje wiele formatów wyjściowych, w tym PNG, GIF, BMP, SVG i JPEG. Można również eksportować kody kreskowe jako HTML w celu bezpośredniego osadzenia na stronach internetowych.

Jak zwrócić BarCode jako plik do pobrania?

Aby zwrócić BarCode jako plik do pobrania zamiast obrazu wbudowanego, należy ustawić nagłówek Content-Disposition w odpowiedzi:

public IActionResult DownloadBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    byte[] pdfBytes = barcode.ToPdfBinaryData();
    return File(pdfBytes, "application/pdf", "barcode.pdf");
}
public IActionResult DownloadBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    byte[] pdfBytes = barcode.ToPdfBinaryData();
    return File(pdfBytes, "application/pdf", "barcode.pdf");
}
Public Function DownloadBarcode(data As String) As IActionResult
    Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128)
    barcode.ResizeTo(400, 120)
    Dim pdfBytes As Byte() = barcode.ToPdfBinaryData()
    Return File(pdfBytes, "application/pdf", "barcode.pdf")
End Function
$vbLabelText   $csharpLabel

Ten wzorzec jest przydatny do generowania etykiet wysyłkowych, procesów etykietowania produktów oraz wszelkich scenariuszy, w których użytkownik końcowy musi bezpośrednio zapisać lub wydrukować dokument z BarCode.

Jakie typy BarCodes są obsługiwane w aplikacjach internetowych?

IronBarcode obsługuje ponad 30 formatów. Oto szczegóły dotyczące tworzenia najczęściej używanych typów:

Generowanie kodów QR

// Create QR Code with custom size
GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode(
    "https://example.com/product/12345",
    500,
    QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("product-qr.png");
// Create QR Code with custom size
GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode(
    "https://example.com/product/12345",
    500,
    QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("product-qr.png");
' Create QR Code with custom size
Dim qrCode As GeneratedBarcode = QRCodeWriter.CreateQrCode( _
    "https://example.com/product/12345", _
    500, _
    QRCodeWriter.QrErrorCorrectionLevel.Medium)
qrCode.SaveAsPng("product-qr.png")
$vbLabelText   $csharpLabel

Wynikowy kod QR

Generowanie BARCODE-ów w ASP .NET: Stwórz generator BARCODE-ów dla swojej aplikacji internetowej: Obraz 2 - Obraz 2 z 6 związanych z generowaniem BARCODE-ów w ASP .NET: Stwórz generator BARCODE-ów dla swojej aplikacji internetowej

Generowanie kodów QR obsługuje poziomy korekcji błędów, które określają, w jakim stopniu kod może zostać uszkodzony, pozostając jednocześnie czytelnym. W przypadku zastosowań związanych z drukowaniem kodów QR, gdzie spodziewane jest fizyczne zużycie, należy użyć klasy średniej lub wysokiej. Dowiedz się więcej o opcjach dostosowywania kodów QR.

Data Matrix i inne formaty 2D

// Create Data Matrix barcode
GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode(
    "DMX-2024-001",
    BarcodeWriterEncoding.DataMatrix);
dataMatrix.SaveAsGif("datamatrix.gif");
// Create Data Matrix barcode
GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode(
    "DMX-2024-001",
    BarcodeWriterEncoding.DataMatrix);
dataMatrix.SaveAsGif("datamatrix.gif");
' Create Data Matrix barcode
Dim dataMatrix As GeneratedBarcode = BarcodeWriter.CreateBarcode( _
    "DMX-2024-001", _
    BarcodeWriterEncoding.DataMatrix)
dataMatrix.SaveAsGif("datamatrix.gif")
$vbLabelText   $csharpLabel

Matryca danych wyjściowych

Generowanie BarCodes w ASP .NET: Stwórz generator BarCodes dla swojej aplikacji internetowej: Obraz 3 – Wygenerowany BarCode Data Matrix

BarCodes Data Matrix sprawdzają się doskonale w sytuacjach wymagających kompaktowego kodowania o dużej gęstości. Biblioteka generuje również formaty PDF417, Aztec i MaxiCode. Te typy BARCODE-ów 2D przechowują znacznie więcej danych niż formaty liniowe, zachowując jednocześnie niezawodną dokładność skanowania.

BarCodes liniowe (UPC, EAN, Code 39)

// Create UPC-A barcode for retail products
GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode(
    "012345678905",
    BarcodeWriterEncoding.UPCA);
upcBarcode.SaveAsPng("upc-barcode.png");
// Create UPC-A barcode for retail products
GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode(
    "012345678905",
    BarcodeWriterEncoding.UPCA);
upcBarcode.SaveAsPng("upc-barcode.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wynik

Generowanie BarCodes w ASP .NET: Stwórz generator BarCodes dla swojej aplikacji internetowej: Obraz 4 – Wygenerowany BarCode

Barcodes UPC A i EAN zawierają automatyczną weryfikację sum kontrolnych, co zapobiega błędom kodowania w procesie generowania barcode'ów. Pełna lista obsługiwanych formatów znajduje się w opisie formatów BARCODE.

Jak dostosować i stylizować obrazy BarCode'ów?

Stylizacja kodów kreskowych dla aplikacji internetowej obejmuje dostosowanie kolorów, czcionek, marginesów i adnotacji. Płynny interfejs API sprawia, że dostosowanie jest proste:

GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode(
    "STYLED-2024",
    BarcodeWriterEncoding.Code128);
// Apply styling
styledBarcode.ResizeTo(450, 150);
styledBarcode.SetMargins(20);
styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
styledBarcode.AddAnnotationTextAboveBarcode("Product ID:");
styledBarcode.AddBarcodeValueTextBelowBarcode();
// Export to multiple formats
styledBarcode.SaveAsPng("styled-barcode.png");
styledBarcode.SaveAsPdf("styled-barcode.pdf");
GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode(
    "STYLED-2024",
    BarcodeWriterEncoding.Code128);
// Apply styling
styledBarcode.ResizeTo(450, 150);
styledBarcode.SetMargins(20);
styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
styledBarcode.AddAnnotationTextAboveBarcode("Product ID:");
styledBarcode.AddBarcodeValueTextBelowBarcode();
// Export to multiple formats
styledBarcode.SaveAsPng("styled-barcode.png");
styledBarcode.SaveAsPdf("styled-barcode.pdf");
Dim styledBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("STYLED-2024", BarcodeWriterEncoding.Code128)
' Apply styling
styledBarcode.ResizeTo(450, 150)
styledBarcode.SetMargins(20)
styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue)
styledBarcode.AddAnnotationTextAboveBarcode("Product ID:")
styledBarcode.AddBarcodeValueTextBelowBarcode()
' Export to multiple formats
styledBarcode.SaveAsPng("styled-barcode.png")
styledBarcode.SaveAsPdf("styled-barcode.pdf")
$vbLabelText   $csharpLabel

Stylizowany obraz BarCode

Generowanie BarCodes w ASP .NET: Stwórz generator BarCodes dla swojej aplikacji internetowej: Obraz 5 – BarCode w stylizowanym formacie

Metoda SetMargins() dodaje białe znaki wokół BARCODE, aby poprawić jego czytelność dla skanera. Można dostosować ustawienia czcionki dla tekstu adnotacji, zmienić rodzinę czcionek i rozmiar czcionki oraz szeroko dostosować styl BarCode. Biblioteka renderuje tekst przy użyciu czcionek systemówych, bez konieczności korzystania z zewnętrznych czcionek BarCode.

Jak osadzić BarCode bezpośrednio w widoku Razor?

W przypadku widoków ASP.NET MVC generuj BarCODE jako ciągi Base64 do bezpośredniego osadzania w HTML bez zapisywania plików na dysku:

public IActionResult DisplayBarcode()
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
        "INV-2024-0042",
        BarcodeWriterEncoding.Code128);
    string base64Image = barcode.ToDataUrl();
    ViewBag.BarcodeImage = base64Image;
    return View();
}
public IActionResult DisplayBarcode()
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
        "INV-2024-0042",
        BarcodeWriterEncoding.Code128);
    string base64Image = barcode.ToDataUrl();
    ViewBag.BarcodeImage = base64Image;
    return View();
}
Public Function DisplayBarcode() As IActionResult
    Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("INV-2024-0042", BarcodeWriterEncoding.Code128)
    Dim base64Image As String = barcode.ToDataUrl()
    ViewBag.BarcodeImage = base64Image
    Return View()
End Function
$vbLabelText   $csharpLabel

Wyświetlany BarCode

Generowanie BarCodes w ASP .NET: Stwórz generator BarCodes dla swojej aplikacji internetowej: Obraz 6 – BarCode wyświetlony w naszej przeglądarce

W widoku Razor wyświetl to w elemencie <div>:

<div class="barcode-container">
    <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" />
</div>
<div class="print-actions">
    <button onclick="window.print()">Print Barcode</button>
</div>
<div class="barcode-container">
    <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" />
</div>
<div class="print-actions">
    <button onclick="window.print()">Print Barcode</button>
</div>
HTML

Takie podejście eliminuje konieczność zapisywania obrazów BarCode w systemie plików, dzięki czemu usługa internetowa pozostaje bezstanowa. Kompletna dokumentacja API zawiera wszystkie dostępne metody i właściwości.

Jak odczytywać i skanować BarCodes w ASP.NET Core?

Odczytywanie BARCODE-ów z przesłanych obrazów lub strumieni plików obsługuje klasa BarcodeReader. Jest to przydatne w procesach przyjmowania przesyłek, przetwarzaniu zwrotów oraz w każdej sytuacji, w której zeskanowany BARCODE musi zostać zdekodowany po stronie serwera:

using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

public class BarcodeScanController : Controller
{
    public IActionResult ScanBarcode(IFormFile uploadedImage)
    {
        using var stream = uploadedImage.OpenReadStream();
        var results = BarcodeReader.Read(stream);
        if (results.Count > 0)
        {
            string decodedValue = results[0].Value;
            return Ok(new { barcode = decodedValue });
        }
        return BadRequest("No barcode detected in image.");
    }
}
using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

public class BarcodeScanController : Controller
{
    public IActionResult ScanBarcode(IFormFile uploadedImage)
    {
        using var stream = uploadedImage.OpenReadStream();
        var results = BarcodeReader.Read(stream);
        if (results.Count > 0)
        {
            string decodedValue = results[0].Value;
            return Ok(new { barcode = decodedValue });
        }
        return BadRequest("No barcode detected in image.");
    }
}
Imports IronBarCode
Imports Microsoft.AspNetCore.Http
Imports Microsoft.AspNetCore.Mvc

Public Class BarcodeScanController
    Inherits Controller

    Public Function ScanBarcode(uploadedImage As IFormFile) As IActionResult
        Using stream = uploadedImage.OpenReadStream()
            Dim results = BarcodeReader.Read(stream)
            If results.Count > 0 Then
                Dim decodedValue As String = results(0).Value
                Return Ok(New With {.barcode = decodedValue})
            End If
            Return BadRequest("No barcode detected in image.")
        End Using
    End Function
End Class
$vbLabelText   $csharpLabel

Metoda BarcodeReader.Read() akceptuje ścieżki plików, strumienie i obiekty System.Drawing.Bitmap. Automatycznie wykrywa format BARCODE i zwraca zbiór obiektów BarcodeResult, z których każdy zawiera zdekodowaną wartość, typ formatu oraz pozycję na obrazie. Gdy na jednym obrazie pojawia się wiele BARCODE'ów — na przykład na zdjęciu półki magazynowej — czytnik zwraca wszystkie wykryte wartości w zbiorze, a nie tylko pierwszą.

Warto również wziąć pod uwagę wydajność w przypadku aplikacji ASP.NET o dużej przepustowości. Czytnik obsługuje skanowanie obszaru zainteresowania, które przed analizą przycina obraz do prostokąta o określonych wymiarach w pikselach. Znacznie skraca to czas przetwarzania, gdy BarCODE'y zawsze pojawiają się w znanym obszarze obrazu.

W przypadku zaawansowanych scenariuszy, takich jak regulacja kontrastu w przypadku obrazów o niskiej jakości lub dostosowywanie czułości wykrywania, należy zapoznać się z dokumentacją dotyczącą odczytu kodów kreskowych.

Jak wyeksportować BarCodes do pliku PDF w ASP.NET?

Generowanie kodów kreskowych osadzonych bezpośrednio w dokumentach PDF jest powszechnym wymaganiem w przypadku etykiet wysyłkowych, przywieszek magazynowych i dokumentów zgodności. IronBarcode obsługuje zapisywanie bezpośrednio w formacie PDF:

GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
    "SHIP-2024-99471",
    BarcodeWriterEncoding.Code128);
barcode.ResizeTo(500, 150);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPdf("shipping-label.pdf");
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
    "SHIP-2024-99471",
    BarcodeWriterEncoding.Code128);
barcode.ResizeTo(500, 150);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPdf("shipping-label.pdf");
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode( _
    "SHIP-2024-99471", _
    BarcodeWriterEncoding.Code128)
barcode.ResizeTo(500, 150)
barcode.AddAnnotationTextAboveBarcode("Shipping Label")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.SaveAsPdf("shipping-label.pdf")
$vbLabelText   $csharpLabel

W przypadku dokumentów PDF zawierających wiele kodów kreskowych — na przykład strony z etykietami produktów — należy wygenerować każdy kod kreskowy osobno, a następnie połączyć je za pomocą biblioteki PDF. W przewodniku integracji IronPDF wyjaśniono, jak umieszczać kody kreskowe na istniejących szablonach PDF, co jest przydatne przy dodawaniu kodów kreskowych do gotowych układów etykiet.

Metoda SaveAsPdf() akceptuje również wymiary wyjściowe, dzięki czemu renderowana strona PDF odpowiada fizycznemu rozmiarowi etykiety wymagańemu przez drukarki etykiet.

Jak radzisz sobie z błędami generowania BarCodes i ich weryfikacją?

Zasady kodowania BarCode różnią się w zależności od formatu. Na przykład kod UPC-A wymaga dokładnie 11 lub 12 cyfr, kod EAN-13 wymaga dokładnie 12 lub 13 cyfr, a kod 128 ma praktyczny limit 48 znaków dla czytelnego wydruku w standardowych rozmiarach. Przekazanie nieprawidłowych danych powoduje wygenerowanie błędu IronBarCodeEncoderException.

Obsługuj błędy kodowania w sposób jawny w akcjach kontrolera:

public IActionResult SafeGenerate(string data, string format)
{
    try
    {
        var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true);
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding);
        return File(barcode.ToPngBinaryData(), "image/png");
    }
    catch (IronBarCodeEncoderException ex)
    {
        return BadRequest($"Encoding error: {ex.Message}");
    }
    catch (ArgumentException ex)
    {
        return BadRequest($"Unknown format: {ex.Message}");
    }
}
public IActionResult SafeGenerate(string data, string format)
{
    try
    {
        var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true);
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding);
        return File(barcode.ToPngBinaryData(), "image/png");
    }
    catch (IronBarCodeEncoderException ex)
    {
        return BadRequest($"Encoding error: {ex.Message}");
    }
    catch (ArgumentException ex)
    {
        return BadRequest($"Unknown format: {ex.Message}");
    }
}
Imports System

Public Function SafeGenerate(data As String, format As String) As IActionResult
    Try
        Dim encoding = [Enum].Parse(Of BarcodeWriterEncoding)(format, True)
        Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(data, encoding)
        Return File(barcode.ToPngBinaryData(), "image/png")
    Catch ex As IronBarCodeEncoderException
        Return BadRequest($"Encoding error: {ex.Message}")
    Catch ex As ArgumentException
        Return BadRequest($"Unknown format: {ex.Message}")
    End Try
End Function
$vbLabelText   $csharpLabel

W przypadku użycia produkcyjnego należy sprawdzić długość danych wejściowych i zestaw znaków przed wywołaniem CreateBarcode(). Dokumentacja IronBarcode zawiera ograniczenia dotyczące kodowania specyficzne dla formatu dla każdego obsługiwanego typu BarCode.

Jakie są Twoje kolejne kroki?

Stworzenie generatora kodów kreskowych ASP.NET przy użyciu IronBarCode zapewnia niezawodne rozwiązanie do tworzenia, stylizowania i eksportowania obrazów kodów kreskowych w aplikacjach internetowych .NET Core. Biblioteka automatycznie obsługuje złożone standardy kodowania, oferując jednocześnie szerokie możliwości dostosowania dzięki przyjaznemu dla programistów interfejsowi API. Niezależnie od tego, czy chodzi o generowanie kodów QR do skanowania mobilnego, kodów kreskowych Data Matrix do zastosowań przemysłowych, czy kodów UPC dla handlu detalicznego, IronBarcode integruje się bezpośrednio z kontrolerami ASP.NET MVC i stronami Razor.

Zapoznaj się z poniższymi zasobami, aby dowiedzieć się więcej:

Możesz przetestować pełen zestaw funkcji podczas bezpłatnego okresu próbnego. W przypadku wdrożenia produkcyjnego i użytku komercyjnego zapoznaj się z opcjami licencyjnymi, aby wybrać licencję odpowiednią do wymagań Twojego projektu. Biblioteka obsługuje eksport plików bitmapowych i wektorowych, a każda wersja zachowuje kompatybilność z systemami Windows, Linux, Android i iOS.

W przypadku pytań, porównań z alternatywnymi bibliotekami kodów kreskowych dla .NET lub wsparcia w zakresie integracji korporacyjnej, odwiedź portal wsparcia IronBarcode.

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101000101111101010011010101000100000101010010010101000100010101000100010111110101011101001001010100010010000101111101010000010100100100111101000100010101010100001101010100010111110101010001010010010010010100000101001100010111110100001001001100010011110100001101001011--}

Często Zadawane Pytania

Jakie formaty kodów kreskowych obsługuje IronBarcode w ASP.NET Core?

IronBarcode obsługuje ponad 30 formatów kodów kreskowych, w tym QR Code, Data Matrix, Code 128, UPC-A, EAN-13, Code 39, PDF417, Aztec, MaxiCode, ITF i inne. Obsługiwane są zarówno formaty liniowe 1D, jak i matrycowe 2D.

Jak zwrócić wygenerowany kod kreskowy jako obraz z kontrolera ASP.NET MVC?

Wywołaj BarcodeWriter.CreateBarcode() z danymi i formatem kodowania, a następnie użyj ToPngBinaryData(), aby uzyskać tablicę bajtów i zwróć ją za pomocą File(bytes, 'image/png') z akcji kontrolera.

Czy IronBarcode może odczytywać kody kreskowe z przesłanych obrazów w ASP.NET?

Tak. Użyj metody BarcodeReader.Read() ze strumieniem IFormFile, aby zdekodować kody kreskowe z obrazów przesłanych przez użytkownika. Czytnik zwraca wszystkie wykryte kody kreskowe jako zbiór obiektów BarcodeResult.

Jak osadzić kod BarCode w widoku Razor bez zapisywania pliku?

Wywołaj metodę BARCODE.ToDataUrl(), aby uzyskać ciąg znaków URL danych Base64, przypisz go do ViewBag i wyrenderuj w widoku Razor jako atrybut src elementu img.

Jakie wersje .NET obsługuje IronBarcode?

IronBarCode obsługuje .NET 6, 7, 8, 9, 10 oraz .NET Framework 4.6.2+. Działa na systemach Windows, Linux, macOS, Docker, Azure, AWS, Android i iOS.

Jak radzić sobie z nieprawidłowymi danymi BarCode w ASP.NET?

Zawiąż BarcodeWriter.CreateBarcode() w try-catch dla IronBarCodeEncoderException. Przed kodowaniem sprawdź długość danych wejściowych i zestaw znaków pod kątem ograniczeń związanych z formatem, aby zapobiec wyjątkom.

Czy IronBarcode może eksportować barcodes do plików PDF?

Tak. Aby wygenerować plik PDF, należy wywołać metodę SaveAsPdf() na dowolnym obiekcie GeneratedBarcode. Metoda ta przyjmuje ścieżkę wyjściową oraz opcjonalne wymiary strony, aby dopasować plik do fizycznych rozmiarów etykiet.

Czy do korzystania z IronBarcode wymagana jest czcionka BarCode?

Nie. IronBarcode jest samodzielnym rozwiązaniem i obsługuje wszystkie operacje kodowania i renderowania wewnętrznie. Nie są wymagane żadne czcionki BarCode, biblioteki GD ani dodatkowa konfiguracja systemu.

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