IRONSOFTWAREHOME
KORZYSTANIE Z IRONBARCODE

Jak generować kod kreskowy Code 128 w C#

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

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#

  1. Zainstaluj bibliotekę IronBarcode
  2. Wygeneruj kod kreskowy używając kodowania Code 128
  3. Zmiana rozmiaru BarCode
  4. Zastosuj styl do kodu kreskowego, zmieniając kolor tła i kodu
  5. 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:

  1. Zestaw znaków A: Zawiera wielkie litery, cyfry i znaki specjalne.
  2. Zestaw znaków B: Zawiera wielkie litery, małe litery, cyfry i dodatkowe znaki specjalne.
  3. 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:

  1. Otwórz program Visual Studio.

  2. W górnym menu przejdź do "Widok" > "Inne okna" > "Konsola menedżera pakietów", aby otworzyć konsolę menedżera pakietów.

  3. 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 BarCode
    SHELL
  4. 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;

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");

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:

Jak wygenerować kod kreskowy Code 128 w C#: Rysunek 1 - Wygenerowany kod kreskowy z poprzedniego kodu

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");
}

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

Jak wygenerować kod kreskowy Code 128 w C#: Rysunek 2 - Zmieniony rozmiar kodu kreskowego z poprzedniego kodu

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");
}

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 ChangeBackgroundColor jest wywoływana na obiekcie myBarcode. Ta metoda zmienia kolor tła obrazu kodu kreskowego. Argument przekazywany do ChangeBackgroundColor to IronSoftware.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 ChangeBarCodeColor jest wywoływana na obiekcie myBarcode. Ta metoda zmienia kolor belki kodu kreskowego. Argument przekazywany do ChangeBarCodeColor to IronSoftware.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:

Jak wygenerować kod kreskowy Code 128 w C#: Rysunek 3 - Wygenerowany stylizowany kod kreskowy z poprzedniego kodu

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);
    }
}

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 zmiennej resultFromBarcode.

  • Druga linia rozpoczyna pętlę, która iteruje przez każdą wartość kodu kreskowego w kolekcji resultFromBarcode. Pętla foreach pozwala nam przetworzyć każdą wartość kodu kreskowego po kolei.

  • Wewnątrz pętli, ta linia wypisuje każdą wartość kodu kreskowego na konsolę. Obiekt barcodeValue reprezentuje zawartość kodu kreskowego, który został odczytany z obrazu.

Wartość kodu kreskowego zostanie wydrukowana na konsoli, jak pokazano poniżej.

Wynik

Jak wygenerować kod kreskowy Code 128 w C#: Rysunek 4 - Wynik na konsoli z odczytanego kodu kreskowego

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)

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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta