Jak generować kod kreskowy Code 128 w C#
Kody kreskowe są kluczowe w współczesnych operacjach biznesowych, od zarządzania zapasami po etykietowanie produktów i wysyłkę. Kod 128 wyróżnia się jako wszechstronna i powszechnie używana opcja wśród różnych zestawów kodów kreskowych. W tym artykule omówimy, jak zbudować generator kodu kreskowego Code 128 w C# przy użyciu biblioteki IronBarcode.
How to Generate Code 128 Barcode in C
- Zainstaluj bibliotekę IronBarcode
- Wygeneruj kod kreskowy używając kodowania Code 128
- Zmiana rozmiaru BarCode
- Zastosuj styl do kodu kreskowego, zmieniając kolor tła i kodu
- Odczytaj utworzony kod kreskowy
Wprowadzenie do kodów kreskowych Code 128
Zestaw kodów Code 128 to kod kreskowy o dużej gęstości i zmiennej długości, który może kodować zarówno dane alfanumeryczne jak i znaki specjalne. Jest samosprawdzający, co oznacza, że zawiera cyfrę kontrolną w celu zapewnienia dokładności danych. Schemat kodowania Code 128 obsługuje trzy znaki kontrolne:
- Zestaw znaków A: Zawiera wielkie litery, cyfry i znaki specjalne.
- Zestaw znaków B: Zawiera wielkie litery, małe litery, cyfry i dodatkowe znaki specjalne.
- Zestaw znaków C: Koduje pary cyfr (00 do 99).
Dlaczego IronBarcode?
IronBarcode to solidna biblioteka .NET ułatwiająca generowanie, dekodowanie i dostosowywanie kodów kreskowych. Z obsługą różnych kodowań kodów kreskowych takich jak Code 128, Code 39, Code 93, Code EAN 13, EAN 8, Kodów QR i innych. Oferuje intuicyjny API do regulacji treści, rozmiaru i wyglądu. Jej zdolności dekodowania, automatyczne obliczanie sumy kontrolnej, i eksport obrazów czynią ją cennym narzędziem dla programistów w zarządzaniu zapasami i nie tylko. Opcje personalizacji biblioteki dla właściwości, marginesów, czcionek i kolorów zwiększają jej wszechstronność w zadaniach związanych z kodami kreskowymi.
Creating Code 128 Barcode Generator in C
Teraz napiszemy kod, aby wygenerować obraz kodu kreskowego Code 128 w C#. Pierwszym krokiem jest zainstalowanie biblioteki IronBarcode w naszym projekcie. Projekt może być dowolnego typu, np. Windows Forms, formularze internetowe, MAUI, Xamarin, ASP.NET MVC, Razor, czy projekty Blazor.
Instalacja biblioteki IronBarcode
Aby zainstalować pakiet NuGet IronBarcode przy użyciu konsoli menedżera pakietów w Visual Studio, możesz postępować według tych kroków:
- Otwórz program Visual Studio.
- W górnym menu przejdź do "Widok" > "Inne okna" > "Konsola menedżera pakietów", aby otworzyć konsolę menedżera pakietów.
-
W konsoli menedżera pakietów można użyć polecenia
Install-Package, aby zainstalować pakiet IronBarcode. Wpisz następujące polecenie i naciśnij Enter:Install-Package BarCodeInstall-Package BarCodeSHELL - To polecenie pobierze i zainstaluje najnowszą wersję pakietu NuGet IronBarcode oraz jego zależności do twojego projektu.
Dodaj następującą przestrzeń nazw do użycia biblioteki kodów kreskowych w swoim projekcie.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Wygeneruj obraz kodu kreskowego Code 128
Poniższy kod wygeneruje kod kreskowy Code 128.
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
Ten kod tworzy kod kreskowy z ciągu wejściowego i zapisuje go jako plik obrazu JPEG o nazwie "myBarcode.Jpeg". Używane kodowanie to Code 128, które może reprezentować znaki alfanumeryczne.
Wyjaśnienie
Pierwsza linia kodu tworzy nową zmienną o nazwie myBarcode. Używa metody BarcodeWriter.CreateBarcode, aby wygenerować kod kreskowy na podstawie ciągu wejściowego "12345ABC12345".
Drugi argument, BarcodeWriterEncoding.Code128, określa typ kodowania dla kodu kreskowego. W tym przypadku używa się kodowania Code 128, które jest powszechnie używane dla danych alfanumerycznych. Wynikowy kod kreskowy jest przechowywany w zmiennej myBarcode.
Druga linia zapisuje wygenerowany kod kreskowy jako plik obrazu JPEG. Nazwa pliku zapisanego obrazu to "myBarcode.Jpeg". Format zapisanego obrazu to JPEG (Joint Photographic Experts Group).
Wynik
Wygenerowany kod kreskowy jest jako:

Ten kod można teraz odczytać przy użyciu urządzenia do odczytu kodów kreskowych.
Teraz zmienmy rozmiar naszego kodu kreskowego.
Zmien rozmiar kodu kreskowego
Poniższy kod zmieni rozmiar naszego kodu kreskowego zgodnie z podanymi wymiarami.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
Kod do tworzenia i zapisywania kodów kreskowych pozostaje taki sam. Dodaj tylko linię dodatkową do zmienienia rozmiaru kodu kreskowego.
Metoda ResizeTo() zmienia rozmiar obrazu kodu kreskowego przechowywanego w zmiennej myBarcode. Metoda ResizeTo jest wywoływana na obiekcie myBarcode. Dwa argumenty przekazywane do ResizeTo to szerokość i wysokość. W tym przypadku szerokość jest ustawiona na 800 pikseli, a wysokość na 300 pikseli.
W ten sposób możemy ustawić minimalną szerokość i wysokość modułu belki. Rezultujący obraz kodu kreskowego będzie miał te wymiary po zmianie rozmiaru, jak pokazano poniżej.
Obraz BarCode

Teraz zstylizujemy nasz kod kreskowy.
Stylizacja kodu kreskowego Code 128
Teraz zstylizujemy nasz kod kreskowy, zmieniając kolor tła i koloru kodu kreskowego.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
' Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
' Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
Kod do generowania i zapisywania kodów kreskowych pozostaje taki sam. Dodano tylko dwie dodatkowe linie zmieniające kolor tła i koloru kodu kreskowego. Wyjaśnienie jest następujące:
-
ZmieńKolorTła: Metoda
ChangeBackgroundColorjest wywoływana na obiekciemyBarcode. Ta metoda zmienia kolor tła obrazu kodu kreskowego. Argument przekazywany doChangeBackgroundColortoIronSoftware.Drawing.Color.Cornsilk, który określa pożądany kolor tła. W tym przypadku kolor tła jest ustawiony na Cornsilk, co jest bladożółtym kolorem. - ZmieńKolorKoduKreskowego: Metoda
ChangeBarCodeColorjest wywoływana na obiekciemyBarcode. Ta metoda zmienia kolor belki kodu kreskowego. Argument przekazywany doChangeBarCodeColortoIronSoftware.Drawing.Color.Brown, który określa pożądany kolor kodu kreskowego. W tym przypadku kolor kodu kreskowego jest ustawiony na brązowy.
Wynik
Nasz stylizowany kod kreskowy jest jako:

Odczytaj kod kreskowy Code 128
Nauczyliśmy się generować kod kreskowy Code 128. Teraz napiszmy kod do odczytu kodu kreskowego:
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
Shared Sub Main(ByVal args() As String)
' Read barcodes from the specified image file
Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
' Loop through each barcode value read from the image
For Each barcodeValue In resultFromBarcode
' Print each barcode value to the console
Console.WriteLine(barcodeValue)
Next barcodeValue
End Sub
Powyższy kod odczytuje kody kreskowe z pliku obrazu "myBarcode.Jpeg" i wypisuje ich wartości na konsoli. Klasa BarcodeReader jest odpowiedzialna za dekodowanie danych z kodu kreskowego z obrazu. Wyjaśnienie kodu jest następujące:
Wyjaśnienie kodu
-
Pierwsza linia tworzy zmienną o nazwie
resultFromBarcode. Wywołuje metodęBarcodeReader.Read, aby odczytać kody kreskowe z pliku obrazu o nazwie "myBarcode.Jpeg". Wynik tej operacji jest przechowywany w zmiennejresultFromBarcode. -
Druga linia rozpoczyna pętlę, która iteruje przez każdą wartość kodu kreskowego w kolekcji
resultFromBarcode. Pętlaforeachpozwala nam przetworzyć każdą wartość kodu kreskowego po kolei. - Wewnątrz pętli, ta linia wypisuje każdą wartość kodu kreskowego na konsolę. Obiekt
barcodeValuereprezentuje zawartość kodu kreskowego, który został odczytany z obrazu.
Wartość kodu kreskowego zostanie wydrukowana na konsoli, jak pokazano poniżej.
Wynik

Analiza segmentów kodowania Code 128
Jak wspomniano wcześniej, Code 128 używa trzech zestawów znaków — A, B i C — i przełącza się między nimi, aby efektywnie kodować dane. IronBarcode udostępnia metodę Code128GS1Parser.GetEncodingInfo do analizy, które zestawy znaków są używane dla danego ciągu wejściowego.
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
Imports System
' Analyze Code 128 encoding segments
Dim result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF")
Console.WriteLine(result.CharacterSetSummary) ' "B → C → B"
Console.WriteLine(result.TotalSymbols) ' 14
Console.WriteLine(result.IsGS1) ' False
For Each segment In result.Segments
Console.WriteLine($"{segment.CharacterSetName}: ""{segment.Data}"" ({segment.SymbolCount} symbols)")
Next
' Output:
' Code B: "ABC" (3 symbols)
' Code C: "123456" (3 symbols)
' Code B: "DEF" (3 symbols)
Metoda zwraca obiekt Code128EncodingInfo zawierający podział segmentów kodowania. W tym przykładzie, koder przełącza się z kodu B dla liter, na kod C dla par liczbowych (najbardziej kompaktowe kodowanie dla cyfr), a następnie z powrotem na kod B dla pozostałych liter. Liczba TotalSymbols obejmuje symbol startowy, symbole danych, przełączniki kodu, cyfrę kontrolną i symbol końcowy.
Wnioski
Podsumowując, ten artykuł pokazał, jak stworzyć generator kody kreskowego Code 128 w C# przy użyciu biblioteki IronBarcode. Korzystając z możliwości IronBarcode, programiści mogą łatwo wygenerować, dostosować i stylizować kody kreskowe Code 128 do różnych zastosowań, w tym zarządzanie zapasami, etykietowanie produktów i wysyłkę. Podążając za tym poradnikiem, programiści mogą zintegrować solidną funkcjonalność kodów kreskowych w swoich projektach C#, zwiększając efektywność w obsłudze zadań związanych z generowaniem i dekodowaniem kodów kreskowych. Wszechstronność IronBarcode i jego intuicyjne API czynią go cennym narzędziem dla programistów pracujących nad aplikacjami, które obejmują implementację kodów kreskowych.
W procesie generowania kodów kreskowych Code 128 za pomocą biblioteki IronBarcode, programiści mają elastyczność dostosowania wyboru znaków kodu, zapewniając optymalne kodowanie danych z różnymi wartościami ASCII. Kod renderujący płynnie dostosowuje się do preferowanych formatów obrazów, oferując programistom możliwość zapisu kodów kreskowych w formacie JPEG lub innych. Ponadto, włączenie znaku końcowego zapewnia dokładne zakończenie zakodowanych informacji w wygenerowanych kodach kreskowych.
IronBarcode oferuje bezpłatną wersję próbną, aby odblokować pełny potencjał biblioteki dla potrzeb deweloperskich. To podejście umożliwia programistom ocenę możliwości IronBarcode przed podjęciem decyzji o komercyjnej licencji.
Często Zadawane Pytania
Jak wygenerować barcode Code 128 w języku C#?
Aby wygenerować kod kreskowy Code 128 w języku C#, należy użyć metody BarcodeWriter.CreateBarCode z biblioteki IronBarcode, podając żądany ciąg znaków jako dane wejściowe i określając Code 128 jako typ kodowania. Następnie można wyeksportować wygenerowany obraz kodu kreskowego za pomocą metod takich jak SaveAsJpeg.
Do czego służy Code 128?
Kod 128 służy do kodowania danych alfanumerycznych i znaków specjalnych w kompaktowym formacie BARCODE. Dzięki dużej gęstości danych i wszechstronności idealnie nadaje się do zarządzania zapasami, etykietowania produktów i zastosowań związanych z wysyłką.
Czy mogę dostosować wygląd kodu kreskowego za pomocą IronBarcode?
Tak, można dostosować wygląd BARCODE za pomocą IronBarcode, modyfikując jego kolory za pomocą metod ChangeBackgroundColor i ChangeBarCodeColor oraz zmieniając jego rozmiar za pomocą metody ResizeTo.
Jak odczytać BarCode w języku C#?
Aby odczytać kod kreskowy w języku C#, należy użyć metody BarcodeReader.Read z biblioteki IronBarcode. Metoda ta przetwarza plik obrazu zawierający kod kreskowy i zwraca zdekodowane wartości do dalszego przetwarzania.
Jakie są zalety korzystania z biblioteki IronBarcode do generowania kodów kreskowych?
Biblioteka IronBarcode oferuje przyjazny dla użytkownika interfejs API, obsługuje różne formaty kodów kreskowych, zapewnia automatyczne obliczanie sum kontrolnych oraz umożliwia eksport obrazów w wielu formatach, co czyni ją elastycznym i wydajnym narzędziem do generowania i dostosowywania kodów kreskowych.
Do jakich formatów obrazów może eksportować IronBarcode?
IronBarcode umożliwia eksportowanie obrazów kodów kreskowych do różnych formatów, w tym JPEG, co zapewnia elastyczność w obsłudze i integracji obrazów kodów kreskowych z różnymi aplikacjami.
Czy przed zakupem można wypróbować IronBarcode?
Tak, możesz wypróbować bezpłatną wersję próbną IronBarcode, aby poznać jej pełen potencjał i możliwości przed zakupem licencji komercyjnej, upewniając się, że możesz skutecznie zintegrować funkcjonalność kodów kreskowych ze swoimi projektami w języku C#.




