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. Bezpłatna próba, 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 użytkownika 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 pojedyncza dyrektywe using na górze kazdego pliku, który generuje lub czyta kody kreskowe:
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Ta dyrektywa udostepnia BarcodeWriter, BarcodeReader, BarcodeEncoding i inne publiczne typy objete tym przewodnikiem.
Jak wygenerować prosty kod kreskowy z ciągu znaków w C#?
Metoda BarcodeWriter.CreateBarcode jest punktem wejscia do generowania kodów kreskowych. Podaj ciag, który chcesz zakodowac razem z wartoscia BarcodeEncoding i uzyskasz obiekt GeneratedBarcode gotowy do zapisania lub dalszej manipulacji.
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

To tworzy obraz kodu kreskowego Code128 z ciagu produktowego i zapisuje go jako plik PNG. Metoda CreateBarcode obsługuje cala złożoność kodowania, więc obraz kodu kreskowego można uzyskać z minimalną 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żej tabela podsumowująca, kiedy używać każdego głównego formatu:
| 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 + Binarny |
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 kodów kreskowych w 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 udostepnia kilka kategorii metod stylizacji:
- Kontrola kolorów --
ChangeBarCodeColor,ChangeBackgroundColorakceptuja dowolneColorzIronSoftware.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 wywolanie CreateBarcode inicjalizuje wewnetrzne 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 integruje się płynnie z frameworkami zadań w tle, takimi jak Hangfire lub wbudowane w .NET'a IHostedService dla zaplanowanych zadań generowania.
Jak zapisywać i eksportować BarCodes w różnych formatach plików?
GeneratedBarcode oferuje szereg metod zapisu obejmujących najpopularniejsze formaty obrazu 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 osadzić kody kreskowe bezpośrednio w dokumentach PDF, IronBarcode integruje się z IronPDF, aby programowo nanosić lub wstawiać obrazy kodów kreskowych.
Przeciążenie ToStream jest szczególnie cenne w interfejsach API i funkcjach w chmurze, gdzie zapis na dysk nie jest pozą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 podniesienie 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.QRCodegdy ciag zawiera adresy URL, adresy e-mail lub wielobajtowe znaki Unicode. - Użyj
BarcodeEncoding.Code128dla ogólnych ciagów alfanumerycznych do około 80 znaków. - Użyj
BarcodeEncoding.EAN13lubBarcodeEncoding.UPCAtylko wtedy, gdy dane sa czysto numeryczne i długość jest ustalona. Cyfra kontrolna jest obliczana automatycznie przez IronBarcode. - Użyj
BarcodeEncoding.DataMatrixdla bardzo krotkich ciagów alfanumerycznych, które musza zmieścić się na fizycznie małej etykiecie.
Dodanie walidacji formatu przed wywolaniem CreateBarcode utrzymuje komunikaty o błedach skierowane do uzytkownika zamiast kryptograficznych sladów 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 używa BarcodeReader.Read do dekodowania obrazu do pierwotnego ciagu.
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. Dla odczytu kodów kreskowych z plików PDF lub strumieni wideo z kamery, IronBarcode oferuje dedykowane metody z prostym 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 kodów kreskowych ASP.NET -- kompletny przewodnik dotyczący renderowania kodów kreskowych w widokach MVC i na stronach Razor
- 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.




