C# Generuj kod kreskowy ze stringa: Kompletny samouczek z IronBarcode
Kodowanie danych tekstowych w obrazy BARCODE jest podstawowym wymogiem dla systemów magazynowych, aplikacji detalicznych i zarządzania dokumentami. Ten samouczek pokazuje, jak generować kody kreskowe z wartości ciągów znaków w języku C# przy użyciu IronBarcode — obejmuje wszystko, od instalacji po zapisywanie obrazów kodów kreskowych w wielu formatach, stylizowanie ich do użytku produkcyjnego oraz przetwarzanie dużych partii danych z bazy danych.
IronBarcode to biblioteka .NET opracowana przez Iron Software, która upraszcza generowanie i odczytywanie kodów kreskowych dla programistów .NET tworzących aplikacje dla systemu Windows, usługi internetowe i interfejsy API hostowane w chmurze. Rozpocznij bezpłatny okres próbny, aby zapoznać się z poniższymi przykładami kodu.
Jak zainstalować IronBarcode w projekcie .NET?
Instalacja IronBarcode zajmuje kilka sekund przy użyciu interfejsu CLI .NET lub menedżera pakietów NuGet w programie Visual Studio.
Opcja 1 — .NET CLI (zalecana dla .NET 10):
dotnet add package Barcode
dotnet add package Barcode
Opcja 2 — Konsola menedżera pakietów NuGet w Visual Studio:
Install-Package BarCode
Alternatywnie, wyszukaj "IronBarcode" w interfejsie graficznym menedżera pakietów NuGet i zainstaluj oficjalny pakiet. Biblioteka jest przeznaczona dla platform .NET Framework 4.6.2+ oraz .NET 5 do .NET 10, co zapewnia kompatybilność z nowoczesnymi środowiskami .NET.
Po instalacji dodaj pojedynczą dyrektywę using na początku każdego pliku, który generuje lub odczytuje BARCODE-y:
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Ta dyrektywa udostępnia BarcodeWriter, BarcodeReader, BarcodeEncoding oraz inne typy publiczne omówione w tym przewodniku.
Jak wygenerować prosty BARCODE z ciągu znaków w języku C#?
Metoda BarcodeWriter.CreateBarcode stanowi punkt wejścia do generowania BarCodes. Przekaż ciąg znaków, który chcesz zakodować, wraz z wartością BarcodeEncoding, a otrzymasz obiekt GeneratedBarcode gotowy do zapisania lub dalszej obróbki.
using IronBarCode;
// Generate a Code 128 barcode from a product SKU string
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);
barcode.SaveAsPng("product_barcode.png");
using IronBarCode;
// Generate a Code 128 barcode from a product SKU string
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128);
barcode.SaveAsPng("product_barcode.png");
Imports IronBarCode
' Generate a Code 128 barcode from a product SKU string
Dim productCode As String = "SKU-78432-A"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128)
barcode.SaveAsPng("product_barcode.png")
Wynik generowania BarCode

Tworzy to obraz BARCODE Code128 na podstawie ciągu znaków produktu i zapisuje go jako plik PNG. Metoda CreateBarcode zajmuje się całą złożonością kodowania, dzięki czemu obraz BARCODE można wygenerować przy użyciu minimalnej ilości kodu. IronBarcode obsługuje zapis w formatach PNG, JPEG, GIF, TIFF, BMP i SVG.
Metoda akceptuje również opcjonalne parametry szerokości i wysokości w celu kontrolowania wymiarów wyjściowych, co pomaga zapewnić odpowiednią jakość skanowania w Årodowisku docelowym:
using IronBarCode;
// Specify width and height in pixels for the barcode image
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120);
barcode.SaveAsPng("product_barcode_sized.png");
using IronBarCode;
// Specify width and height in pixels for the barcode image
string productCode = "SKU-78432-A";
var barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120);
barcode.SaveAsPng("product_barcode_sized.png");
Imports IronBarCode
' Specify width and height in pixels for the barcode image
Dim productCode As String = "SKU-78432-A"
Dim barcode = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.Code128, 400, 120)
barcode.SaveAsPng("product_barcode_sized.png")
Ustawienie wyraźnych wymiarów jest szczególnie przydatne podczas generowania etykiet dla termicznych drukarek etykiet, gdzie rozmiar wydruku musi dokładnie odpowiadać rozmiarowi etykiet.
Jakie formaty kodów kreskowych obsługuje IronBarcode?
IronBarcode obsługuje ponad 20 typów kodów kreskowych do różnych zastosowań. Wybór odpowiedniego formatu zapewnia prawidłowe skanowanie i odpowiednią pojemność danych dla aplikacji.
using IronBarCode;
string url = "https://ironsoftware.com/csharp/barcode/";
string numericId = "0123456789012";
// QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode)
.SaveAsPng("qrcode.png");
// UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA)
.SaveAsPng("upc_barcode.png");
// PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417)
.SaveAsJpeg("pdf417_barcode.jpeg");
using IronBarCode;
string url = "https://ironsoftware.com/csharp/barcode/";
string numericId = "0123456789012";
// QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode)
.SaveAsPng("qrcode.png");
// UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA)
.SaveAsPng("upc_barcode.png");
// PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417)
.SaveAsJpeg("pdf417_barcode.jpeg");
Imports IronBarCode
Dim url As String = "https://ironsoftware.com/csharp/barcode/"
Dim numericId As String = "0123456789012"
' QR Code -- best for URLs, text data, and mobile scanning
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode) _
.SaveAsPng("qrcode.png")
' UPC-A -- required for retail point-of-sale systems (12 digits)
BarcodeWriter.CreateBarcode(numericId, BarcodeEncoding.UPCA) _
.SaveAsPng("upc_barcode.png")
' PDF417 -- suited for documents that need higher data capacity
BarcodeWriter.CreateBarcode("Extended product details here", BarcodeEncoding.PDF417) _
.SaveAsJpeg("pdf417_barcode.jpeg")
Wyniki obrazów BarCode

Poniższa tabela podsumowuje, kiedy należy używać poszczególnych głównych formatów:
| Format | Najlepsze dla | Zestaw znaków |
|---|---|---|
QRCode | Adresy URL, tekst, skanowanie mobilne | ASCII + Unicode |
Code128 | Alfanumeryczne kody produktów, etykiety wysyłkowe | Pełny ASCII |
UPCA / EAN13 | Systemy kasowe dla handlu detalicznego | Tylko liczby |
PDF417 | Dowody osobiste, karty pokładowe, dokumenty | Dane binarne |
DataMatrix | Małe etykiety, elektronika | ASCII + Binary |
Aztec | Bilety komunikacyjne, mobilne odprawy | ASCII + Unicode |
Pełną listę obsługiwanych kodowań można znaleźć w opisie typów BarCode IronBarcode.
Jak dostosować i stylizować obrazy BarCode w języku C#?
Oprócz podstawowego generowania kodów kreskowych, IronBarcode udostępnia płynny interfejs API do stylizacji, umożliwiający dostosowywanie kolorów, dodawanie adnotacji i zmianę rozmiaru obrazów kodów kreskowych bez konieczności korzystania z zewnętrznych bibliotek do przetwarzania obrazów.
using IronBarCode;
using IronSoftware.Drawing;
string orderNumber = "ORD-2024-00542";
var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128);
// Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue);
styledBarcode.ChangeBackgroundColor(Color.White);
// Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5);
styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5);
// Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150);
styledBarcode.SaveAsPng("styled_order_barcode.png");
using IronBarCode;
using IronSoftware.Drawing;
string orderNumber = "ORD-2024-00542";
var styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128);
// Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue);
styledBarcode.ChangeBackgroundColor(Color.White);
// Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", new Font("Arial", 12), Color.Black, 5);
styledBarcode.AddBarcodeValueTextBelowBarcode(new Font("Arial", 10), Color.Gray, 5);
// Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150);
styledBarcode.SaveAsPng("styled_order_barcode.png");
Imports IronBarCode
Imports IronSoftware.Drawing
Dim orderNumber As String = "ORD-2024-00542"
Dim styledBarcode = BarcodeWriter.CreateBarcode(orderNumber, BarcodeEncoding.Code128)
' Adjust colors to match brand identity
styledBarcode.ChangeBarCodeColor(Color.DarkBlue)
styledBarcode.ChangeBackgroundColor(Color.White)
' Add readable text annotations above and below the bars
styledBarcode.AddAnnotationTextAboveBarcode("Order Number", New Font("Arial", 12), Color.Black, 5)
styledBarcode.AddBarcodeValueTextBelowBarcode(New Font("Arial", 10), Color.Gray, 5)
' Resize to fit a thermal label at 400 x 150 pixels
styledBarcode.ResizeTo(400, 150)
styledBarcode.SaveAsPng("styled_order_barcode.png")
Stylizowane wygenerowanie BarCode

Jakie właściwości stylizacji są dostępne?
Klasa GeneratedBarcode udostępnia kilka kategorii metod stylizacji:
- Kontrola kolorów --
ChangeBarCodeColor,ChangeBackgroundColorakceptuje dowolnyColorzIronSoftware.Drawing - Adnotacje tekstowe — dodaj tekst nad lub pod BARCODE, używając niestandardowej czcionki, rozmiaru i koloru
- Kontrola marginesów — ustawienie odstępów wokół BarCode'a w celu poprawy wydajności skanera na zagraconych etykietach
- Obrót — obrót obrazu BarCode w bok lub po przekątnej w przypadku układów etykiet wymagających orientacji pionowej
- Zmiana rozmiaru — ustal szerokość i wysokość w pikselach bez zniekształcania zakodowanych danych
Metody stylizacji łączą się w naturalny sposób, zapewniając czytelność kodu i generując obrazy BARCODE zgodne z projektem wizualnym aplikacji. Aby uzyskać bardziej szczegółowe informacje, zapoznaj się z przewodnikiem dotyczącym stylizacji BARCODE.
Jak wygenerować wiele BarCode'ów na podstawie danych z bazy danych?
W praktyce często trzeba generować BARCODE-y dla zbiorów elementów — katalogów produktów, procesów uzupełniania zapasów lub przepływów pracy związanych z wysyłką zamówień. IronBarcode obsługuje przetwarzanie wsadowe bez konieczności dodatkowej konfiguracji.
using IronBarCode;
// Data sourced from a database query result
List<string> productIds =
[
"PROD-001-X",
"PROD-002-Y",
"PROD-003-Z",
"PROD-004-W"
];
// Generate one barcode image per product ID
foreach (string productId in productIds)
{
var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100);
barcode.SaveAsPng($"barcodes/{productId}.png");
}
using IronBarCode;
// Data sourced from a database query result
List<string> productIds =
[
"PROD-001-X",
"PROD-002-Y",
"PROD-003-Z",
"PROD-004-W"
];
// Generate one barcode image per product ID
foreach (string productId in productIds)
{
var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100);
barcode.SaveAsPng($"barcodes/{productId}.png");
}
Imports IronBarCode
' Data sourced from a database query result
Dim productIds As New List(Of String) From {
"PROD-001-X",
"PROD-002-Y",
"PROD-003-Z",
"PROD-004-W"
}
' Generate one barcode image per product ID
For Each productId As String In productIds
Dim barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128, 300, 100)
barcode.SaveAsPng($"barcodes/{productId}.png")
Next
Wyjściowe BarCodes

Skalowanie do dużych wolumenów
Powyższy wzorzec pętli można skalować do tysięcy rekordów bez konieczności modyfikacji. W przypadku generowania dużych ilości kodów kreskowych IronBarcode obsługuje operacje asynchroniczne i wielowątkowe, aby zmaksymalizować przepustowość na serwerach wielordzeniowych.
Wygenerowane obrazy BARCODE można osadzać w raportach PDF, drukować na etykietach lub przechowywać w systemie zarządzania dokumentami. Każdy obraz koduje oryginalny ciąg znaków w postaci wzorca binarnego, który skanery BarCode dekodują z powrotem na tekst.
W przypadku zadań produkcyjnych generujących tysiące BarCodes na jeden przebieg warto rozważyć wstępne rozgrzanie silnika IronBarcode przed rozpoczęciem pętli. Pierwsze wywołanie CreateBarcode inicjuje wewnętrzne pamięci podręczne kodowania; W rezultacie kolejne wywołania w ramach tego samego procesu są realizowane szybciej. Zawarcie całej partii w jednej metodzie czasowej ułatwia również rejestrowanie zbiorczych statystyk — łącznej liczby wygenerowanych BARCODE'ów, wszelkich błędów kodowania oraz czasu, który upłynął — przed zakończeniem partii. Ten wzorzec płynnie integruje się z frameworkami zadań w tle, takimi jak Hangfire lub wbudowanym w .NET Framework IHostedService, służącymi do generowania zadań zaplanowanych.
Jak zapisywać i eksportować BarCodes w różnych formatach plików?
GeneratedBarcode oferuje szereg metod zapisywania obejmujących najpopularniejsze formaty obrazów używane w aplikacjach biznesowych:
using IronBarCode;
string value = "EXPORT-TEST-001";
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
// Save to disk in multiple formats
barcode.SaveAsPng("barcode.png"); // Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg"); // Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif"); // Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff"); // Multi-page archival format
barcode.SaveAsBmp("barcode.bmp"); // Uncompressed bitmap
// Export as a byte array for in-memory operations (API responses, database storage)
byte[] pngBytes = barcode.ToStream(ImageFormat.Png).ToArray();
using IronBarCode;
string value = "EXPORT-TEST-001";
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
// Save to disk in multiple formats
barcode.SaveAsPng("barcode.png"); // Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg"); // Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif"); // Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff"); // Multi-page archival format
barcode.SaveAsBmp("barcode.bmp"); // Uncompressed bitmap
// Export as a byte array for in-memory operations (API responses, database storage)
byte[] pngBytes = barcode.ToStream(ImageFormat.Png).ToArray();
Imports IronBarCode
Dim value As String = "EXPORT-TEST-001"
Dim barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120)
' Save to disk in multiple formats
barcode.SaveAsPng("barcode.png") ' Lossless -- best for print
barcode.SaveAsJpeg("barcode.jpg") ' Compressed -- smaller file size
barcode.SaveAsGif("barcode.gif") ' Compatible with legacy systems
barcode.SaveAsTiff("barcode.tiff") ' Multi-page archival format
barcode.SaveAsBmp("barcode.bmp") ' Uncompressed bitmap
' Export as a byte array for in-memory operations (API responses, database storage)
Dim pngBytes As Byte() = barcode.ToStream(ImageFormat.Png).ToArray()
Wybór odpowiedniego formatu zależy od odbiorcy końcowego. Format PNG sprawdza się dobrze w przypadku etykiet i dokumentów gotowych do druku. Format JPEG nadaje się do zastosowań, w których rozmiar pliku ma znaczenie. Aby osadzać kody kreskowe bezpośrednio w dokumentach PDF, IronBarcode integruje się z IronPDF w celu programowego stemplowania lub wstawiania obrazów kodów kreskowych.
Przeładowanie ToStream jest szczególnie przydatne w interfejsach API sieci Web i funkcjach chmury, gdzie zapis na dysku nie jest pożądany. Tablica bajtów może być przechowywana w kolumnie BLOB bazy danych, przesłana do pamięci w chmurze lub przesyłana strumieniowo bezpośrednio do odpowiedzi HTTP bez żadnego pliku pośredniego w systemie plików.
Jak weryfikujesz dane łańcuchowe przed kodowaniem?
Nie każdy ciąg znaków jest prawidłowy dla każdego formatu BarCode. Kod UPC-A wymaga dokładnie 12 cyfr, EAN-13 wymaga 13, a niektóre formaty 1D odrzucają znaki spoza ograniczonego podzbioru ASCII. Przekazanie nieprawidłowych danych do CreateBarcode powoduje wygenerowanie IronBarCodeEncodingException. Otoczenie wywołania blokiem try/catch i sprawdzenie poprawności danych wejściowych z góry zapobiega nieobsługiwanym wyjątkom w środowisku produkcyjnym:
using IronBarCode;
bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath)
{
if (string.IsNullOrWhiteSpace(value))
{
Console.WriteLine("Value must not be empty.");
return false;
}
try
{
var barcode = BarcodeWriter.CreateBarcode(value, encoding);
barcode.SaveAsPng(outputPath);
return true;
}
catch (IronBarCodeEncodingException ex)
{
Console.WriteLine($"Encoding failed: {ex.Message}");
return false;
}
}
// Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png"); // succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png"); // encoding exception
using IronBarCode;
bool TryCreateBarcode(string value, BarcodeEncoding encoding, string outputPath)
{
if (string.IsNullOrWhiteSpace(value))
{
Console.WriteLine("Value must not be empty.");
return false;
}
try
{
var barcode = BarcodeWriter.CreateBarcode(value, encoding);
barcode.SaveAsPng(outputPath);
return true;
}
catch (IronBarCodeEncodingException ex)
{
Console.WriteLine($"Encoding failed: {ex.Message}");
return false;
}
}
// Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png"); // succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png"); // encoding exception
Imports IronBarCode
Function TryCreateBarcode(value As String, encoding As BarcodeEncoding, outputPath As String) As Boolean
If String.IsNullOrWhiteSpace(value) Then
Console.WriteLine("Value must not be empty.")
Return False
End If
Try
Dim barcode = BarcodeWriter.CreateBarcode(value, encoding)
barcode.SaveAsPng(outputPath)
Return True
Catch ex As IronBarCodeEncodingException
Console.WriteLine($"Encoding failed: {ex.Message}")
Return False
End Try
End Function
' Usage
TryCreateBarcode("SKU-001", BarcodeEncoding.Code128, "output.png") ' succeeds
TryCreateBarcode("NOT-NUMERIC", BarcodeEncoding.UPCA, "output.png") ' encoding exception
Wybór odpowiedniego formatu danych wejściowych
Gdy format kodu BarCode można konfigurować w czasie wykonywania, pomocnik mapujący typ zawartości do odpowiedniego kodowania pozwala uniknąć cichych błędów:
- Użyj
BarcodeEncoding.QRCode, gdy ciąg zawiera adresy URL, adresy e-mail lub wielobajtowe znaki Unicode. - Używaj
BarcodeEncoding.Code128dla ogólnych ciągów alfanumerycznych o długości do około 80 znaków. - Używaj
BarcodeEncoding.EAN13lubBarcodeEncoding.UPCAtylko wtedy, gdy dane są czysto numeryczne, a ich długość jest stała. Cyfra kontrolna jest obliczana automatycznie przez IronBarcode. - Użyj
BarcodeEncoding.DataMatrixdla bardzo krótkich ciągów alfanumerycznych, które muszą zmieścić się na fizycznie małej etykiecie.
Dodanie walidacji formatu przed wywołaniem CreateBarcode sprawia, że komunikaty o błędach są zrozumiałe dla użytkownika, a nie są to tajemnicze ślady stosu w logach aplikacji.
Jak odczytać BarCode na podstawie wartości ciągu znaków?
Generowanie BarCoda to w wielu systemach tylko połowa procesu. API do odczytu kodów kreskowych wykorzystuje BarcodeReader.Read do dekodowania obrazu z powrotem do oryginalnego ciągu znaków.
using IronBarCode;
// Read all barcodes from an image file
var results = BarcodeReader.Read("product_barcode.png");
foreach (var result in results)
{
// Output the decoded string value
Console.WriteLine($"Decoded value: {result.Value}");
Console.WriteLine($"Format detected: {result.BarcodeType}");
}
using IronBarCode;
// Read all barcodes from an image file
var results = BarcodeReader.Read("product_barcode.png");
foreach (var result in results)
{
// Output the decoded string value
Console.WriteLine($"Decoded value: {result.Value}");
Console.WriteLine($"Format detected: {result.BarcodeType}");
}
Imports IronBarCode
' Read all barcodes from an image file
Dim results = BarcodeReader.Read("product_barcode.png")
For Each result In results
' Output the decoded string value
Console.WriteLine($"Decoded value: {result.Value}")
Console.WriteLine($"Format detected: {result.BarcodeType}")
Next
Ułatwia to tworzenie obiegów pracy z kodami kreskowymi typu "round-trip" — generowanie kodu kreskowego na podstawie rekordu produktu, zapisywanie go na dysku lub w kolejce drukarki etykiet, a następnie skanowanie fizycznej etykiety i dekodowanie wartości w celu wyszukania rekordu. Do odczytu kodów kreskowych z plików PDF lub obrazu z kamery na żywo IronBarcode udostępnia dedykowane metody z tym samym prostym interfejsem API.
Jak korzystać z IronBarcode w interfejsach API ASP.NET Core?
IronBarcode działa w kontrolerach ASP.NET Core i minimalnych procedurach obsługi API. Najczęstszy wzorzec zwraca obraz BARCODE jako plik lub URI danych zakodowanych w base64 do renderowania w przeglądarce.
using IronBarCode;
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", (string value) =>
{
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
byte[] imageBytes = barcode.ToStream(ImageFormat.Png).ToArray();
return Results.File(imageBytes, "image/png");
});
app.Run();
using IronBarCode;
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", (string value) =>
{
var barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120);
byte[] imageBytes = barcode.ToStream(ImageFormat.Png).ToArray();
return Results.File(imageBytes, "image/png");
});
app.Run();
Imports IronBarCode
Imports Microsoft.AspNetCore.Mvc
Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
' Minimal API endpoint -- returns a barcode PNG for the given value
app.MapGet("/barcode/{value}", Function(value As String)
Dim barcode = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128, 400, 120)
Dim imageBytes As Byte() = barcode.ToStream(ImageFormat.Png).ToArray()
Return Results.File(imageBytes, "image/png")
End Function)
app.Run()
Punkt końcowy generuje BARCODE na żądanie dla dowolnej wartości przekazanej w ścieżce URL. W przypadku wdrożeń produkcyjnych należy dodać buforowanie, aby powtarzające się żądania tej samej wartości BARCODE nie powodowały ponownego generowania obrazu. Zobacz pełny samouczek dotyczący generowania BARCODE-ów w ASP.NET, aby uzyskać bardziej szczegółowy przewodnik, w tym wstrzykiwanie zależności i buforowanie odpowiedzi.
Jakie są Twoje kolejne kroki?
Generowanie kodów kreskowych na podstawie danych tekstowych w języku C# jest proste dzięki IronBarcode. Płynny interfejs API radzi sobie ze złożonością kodowania BarCode, zapewniając jednocześnie elastyczność w zakresie dostosowywania i przetwarzania wsadowego. Niezależnie od tego, czy celem są proste kody kreskowe Code 128 do zarządzania zapasami, czy kody QR do aplikacji mobilnych, IronBarcode zapewnia niezawodną funkcjonalność kodów kreskowych dla aplikacji .NET.
Więcej informacji:
- Pobierz IronBarcode i uruchom lokalnie przykładowe kody z tego przewodnika
- Kup licencję na wdrożenie produkcyjne — licencje są dostępne z bezpłatnym okresem próbnym
- Przejrzyj dokumentację API, aby zapoznać się z opisem API, zaawansowaną konfiguracją i uwagami dotyczącymi konkretnych platform
- Zapoznaj się z przykładami kodu obejmującymi generowanie kodów QR, skanowanie kodów BarCode, integrację z plikami PDF i nie tylko
- Integracja BarCodes z ASP.NET — kompletny przewodnik po renderowaniu BarCodes w widokach MVC i Razor Pages
- Integracja skanera BarCode — odczyt kodów kreskowych z obrazów, plików PDF i skanerów USB w języku C#
Często Zadawane Pytania
Jak zainstalować IronBarcode do generowania kodów kreskowych w języku C#?
Uruchom polecenie „dotnet add package BarCode” z poziomu interfejsu CLI .NET lub otwórz menedżera pakietów NuGet w programie Visual Studio, wyszukaj „IronBarcode” i zainstaluj oficjalny pakiet.
Jakie formaty kodów kreskowych można wygenerować z ciągu znaków za pomocą IronBarcode?
IronBarcode obsługuje ponad 20 formatów, w tym QR Code, Code 128, UPC-A, EAN-13, PDF417, Data Matrix i Aztec. Format określa się za pomocą wyliczenia BarcodeEncoding.
Czy wygląd kodów kreskowych generowanych za pomocą IronBarcode można dostosować?
Tak. IronBarcode udostępnia metody umożliwiające zmianę koloru kreski, koloru tła, dodawanie adnotacji tekstowych nad lub pod kodem kreskowym, ustawianie marginesów, zmianę rozmiaru oraz obracanie obrazu wyjściowego.
Czy IronBarcode obsługuje generowanie kodów kreskowych w trybie wsadowym?
Tak. Przejrzyj listę lub zestaw wyników bazy danych i wywołaj BarcodeWriter.CreateBarcode dla każdej wartości. W przypadku bardzo dużych ilości danych IronBarcode obsługuje również operacje asynchroniczne i wielowątkowe.
W jakich formatach obrazów IronBarcode może zapisywać barcodes?
IronBarcode może zapisywać kody kreskowe w formatach PNG, JPEG, GIF, TIFF, BMP i SVG. Metoda ToStream zwraca tablicę bajtów do wykorzystania w pamięci bez zapisywania na dysku.
Jak zakodować ciąg znaków w BARCODE za pomocą IronBarcode?
Wywołaj BarcodeWriter.CreateBarcode(value, BarcodeEncoding.Code128), gdzie value to ciąg znaków, a BarcodeEncoding określa format. Następnie wywołaj SaveAsPng lub inną metodę zapisywania na zwróconym obiekcie GeneratedBarcode.
Jakie wersje .NET obsługuje IronBarcode?
IronBarcode obsługuje platformę .NET Framework 4.6.2 i nowsze wersje, a także wersje od .NET 5 do .NET 10, obejmując zarówno starsze, jak i nowoczesne obciążenia .NET.
Czy IronBarcode może być używany w aplikacjach internetowych ASP.NET Core?
Tak. IronBarcode działa wewnątrz kontrolerów i minimalnych procedur obsługi API. Typowy wzorzec wywołuje metodę CreateBarcode, konwertuje wynik na tablicę bajtów za pomocą ToStream i zwraca go jako wynik pliku z punktu końcowego.
Jak odczytać BARCODE z powrotem do oryginalnego ciągu znaków w języku C#?
Użyj BarcodeReader.Read(filePath), aby zdekodować obraz. Metoda zwraca zbiór obiektów BarcodeResult, z których każdy zawiera zdekodowany ciąg znaków Value oraz wykryty typ BarcodeType.
Czy dostępna jest bezpłatna wersja próbna IronBarcode?
Tak. IronBarcode oferuje bezpłatną licencję próbną, która pozwala na pełną ocenę wszystkich funkcji przed zakupem płatnej licencji do wdrożenia produkcyjnego.




