IRONSOFTWAREHOME
KORZYSTANIE Z IRONBARCODE

Generator Data Matrix w C# — Kompletny samouczek z przykładami kodu

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

BarCodes Data Matrix zawierają znaczną ilość zakodowanych danych na niewielkiej powierzchni, co sprawia, że są one preferowanym wyborem do etykietowania produktów farmaceutycznych, znakowania komponentów elektronicznych oraz śledzenia pozycji w systemach zarządzania zapasami, gdzie przestrzeń jest ograniczona. Ten samouczek prowadzi Cię przez to, jak generować kody kreskowe Data Matrix w C# przy użyciu IronBarcode, dostosowywać ich wygląd, kodować różne typy danych i eksportować do różnych formatów plików -- wszystko z prostym, gotowym do produkcji kodem.

Pierwszy krok:
arrow pointer

Co wyróżnia BarCodes Data Matrix?

BarCodes Data Matrix to symbole 2D, które kodują dane w siatce czarnych i białych kropek ułożonych w rzędach i kolumnach. W przeciwieństwie do tradycyjnych BARCODE-ów, takich jak UPC lub EAN, mogą one przechowywać do 2335 znaków alfanumerycznych lub 3116 cyfr w przestrzeni o wymiarach zaledwie 10 x 10 modułów. Wbudowana korekcja błędów Reed-Solomon pozwala na ich dokładny odczyt przez nowoczesne skanery BarCode, nawet gdy do 30% symbolu jest uszkodzone.

Te cechy sprawiają, że Data Matrix idealnie nadaje się do znakowania małych części, BarCode'ów pocztowych i komponentów elektronicznych, a także do etykietowania w placówkach służby zdrowia i centrach logistycznych. Branża opieki zdrowotnej opiera się na standardach GS1 Data Matrix w zakresie śledzenia leków, a producenci wdrażają je na liniach produkcyjnych w celu identyfikacji produktów na całym świecie. Ponieważ pojedynczy BARCODE może pomieścić tak wiele danych, są one obecnie stosowane na całym świecie w różnych branżach, które dążą do pełnej identyfikowalności produktów.

Standard ISO/IEC 16022 reguluje kodowanie Data Matrix, definiując wariant ECC200, którego IronBarcode używa domyślnie. ECC200 zapewnia najskuteczniejszą korekcję błędów i największą pojemność danych spośród wszystkich wersji Data Matrix, co czyni go właściwym wyborem dla nowych wdrożeń.

Data Matrix a popularne formaty BarCodes
FormatTypMaksymalna liczba znakówKorekta błędówTypowy przypadek użycia
Kod Data Matrix (ECC200)2D2 335 znaków alfanumerycznychReed-Solomon (~30%)Farmaceutyka, elektronika, logistyka
Kod QR2D4 296 znaków alfanumerycznychReed-Solomon (do 30%)Adresy URL, marketing, płatności
UPC-A1D12 cyfrNoneIdentyfikacja produktów detalicznych
Kod 1281D~50 znakówTylko suma kontrolnaWysyłka, logistyka ogólna

Jak zainstalować bibliotekę kodów kreskowych w projekcie C#?

Instalacja IronBarcode zajmuje mniej niż minutę przy użyciu menedżera pakietów NuGet. Otwórz konsolę menedżera pakietów w Visual Studio i uruchom:

PM > Install-Package BarCode

Data Matrix Generator in C#: Complete Guide with IronBarcode: Image 1 - Image 1 of 5 related to Data Matrix Generator in C#: Complete Guide with IronBarcode

Alternatywnie, poszukaj BarCode firmy Iron Software w interfejsie graficznym menedżera pakietów NuGet. Po instalacji dodaj przestrzeń nazw do pliku C#:

using IronBarCode;

To wszystko, co trzeba zrobić. IronBarcode wewnętrznie obsługuje wszystkie złożone procesy kodowania Data Matrix zgodnie z normą ISO/IEC 16022, dzięki czemu możesz skupić się na logice aplikacji. Aby uzyskać informacje na temat dodatkowych opcji konfiguracji, takich jak instalacja w trybie offline lub niestandardowe źródła pakietów, zapoznaj się z instrukcją instalacji IronBarcode oraz stroną poświęconą zaawansowanej instalacji NuGet.

Obsługiwane frameworki docelowe

IronBarcode jest przeznaczony dla platform .NET 10, .NET 8, .NET 6, .NET 5, .NET Standard 2.0 oraz .NET Framework 4.6.2 i nowszych. Jeśli Twój projekt jest oparty na którymkolwiek z tych frameworków, pakiet NuGet instaluje się bez dodatkowej konfiguracji.

Jak stworzyć swój pierwszy BarCode Data Matrix?

Wygenerowanie BarCODE-a Data Matrix wymaga zaledwie jednej linii kodu:

// Create a Data Matrix barcode with product information
var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix);

// Save as a high-quality PNG image
myBarcode.SaveAsImage("product-label.png");

Ten kod tworzy kod kreskowy Data Matrix kodując tekst PROD-12345-2024 i zapisuje go jako plik PNG. Parametr BarcodeWriterEncoding.DataMatrix informuje IronBarcode, aby użyć formatu Data Matrix. Wygenerowany BARCODE automatycznie stosuje specyfikację ECC200, która obejmuje wbudowaną korekcję błędów i zapewnia niezawodne skanowanie w rzeczywistych warunkach.

Wyjście BarCode

Data Matrix Generator in C#: Complete Guide with IronBarcode: Image 2 - First barcode output

Aby od razu wykorzystać BarCode w aplikacjach, pobierz go jako plik bitmapowy lub wyeksportuj bezpośrednio do formatu PDF:

// Get barcode as a bitmap for direct display in a UI control
var barcodeBitmap = myBarcode.ToBitmap();

// Save as PDF for document integration
myBarcode.SaveAsPdf("barcode-document.pdf");

IronBarcode obsługuje eksport do formatów PNG, JPEG, BMP, GIF, TIFF, SVG i PDF. Można również tworzyć i umieszczać BARCODES na istniejących dokumentach PDF, aby osadzić je w zamówieniach zakupu, fakturach lub listach przewozowych.

Jakie typy danych można zakodować w BarCode'ie Data Matrix?

Data Matrix obsługuje kilka trybów kodowania, z których każdy jest zoptymalizowany pod kątem innego zestawu znaków. IronBarcode automatycznie wybiera najbardziej wydajny tryb na podstawie dostarczonej treści:

// Encode alphanumeric product codes
var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix);
productCode.SaveAsImage("product-code.png");

// Encode numeric serial numbers (numeric mode uses less space)
var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix);
serialNumber.SaveAsImage("serial-number.png");

// Encode URLs for product landing pages or support portals
var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix);
urlCode.SaveAsImage("url-datamatrix.png");

// Encode Unicode text for international applications
var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix);
unicodeBarcode.SaveAsImage("unicode-datamatrix.png");

Dane liczbowe wykorzystują tryb kompaktowego kodowania, który zmniejsza rozmiar BARCODE w porównaniu z tekstem alfanumerycznym. Kodowanie binarne obsługuje znaki specjalne i tekst Unicode bez konieczności ręcznej konfiguracji. IronBarcode automatycznie wybiera najbardziej wydajny tryb kodowania, więc nie trzeba go określać jawnie.

Wynik

W tym przypadku wszystkie cztery typy danych zostały pomyślnie zakodowane w prawidłowe BARCODE-y Data Matrix.

Data Matrix Generator in C#: Complete Guide with IronBarcode: Image 3 - Data Matrix barcodes created with 4 different data types

Dla dokładniejszego spojrzenia na opcje kodowania i obsługę zestawów znaków zobacz dokumentację kodowania IronBarcode oraz referencję typów danych kodów kreskowych.

Jak dostosować wygląd BarCoda Data Matrix?

IronBarcode udostępnia pełen zestaw opcji dostosowywania kodów kreskowych, umożliwiających kontrolę rozmiaru, koloru, adnotacji i marginesów:

// Create barcode with custom styling
var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix);

// Set specific dimensions in pixels
customBarcode.ResizeTo(500, 500);

// Adjust colors for special label requirements
customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);

// Add human-readable text below the barcode symbol
customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024");

// Set margins to preserve the required quiet zone
customBarcode.SetMargins(10);

customBarcode.SaveAsImage("custom-datamatrix.png");

Te dostosowania pomagają spełnić wymagania dotyczące wizerunku firmy lub konkretne standardy oznaczania. Metoda ResizeTo zachowuje prawidłowe proporcje modułów, co jest niezbędne dla czytelności Data Matrix z każdej odległości skanera. Zmiany kolorów uwzględniają specjalne procesy drukowania lub ograniczenia związane z podłożem, takie jak kolorowe etykiety lub materiały metaliczne. Margines cichej strefy ustawiony przez SetMargins spełnia minimalne wymagania dotyczące białej przestrzeni zdefiniowane w specyfikacji ISO/IEC 16022.

Data Matrix Generator in C#: Complete Guide with IronBarcode: Image 4 - Custom data matrix output

Wybór odpowiedniego rozmiaru BarCode

Minimalny rozmiar barcode'ów Data Matrix umożliwiający odczyt zależy od skanera i rozdzielczości druku. Do skanowania ogólnego zaleca się rozmiar modułu co najmniej 0,3 mm. Przy rozdzielczości druku 300 DPI BarCode o długości 500 pikseli ma wymiary około 42 mm kwadratowych — wystarczające do niezawodnego skanowania za pomocą skanera ręcznego. W przypadku mniejszych etykiet należy zwiększyć rozdzielczość DPI lub zmniejszyć ilość danych, aby symbol mieścił się w zakresie rozmiarów umożliwiających skanowanie.

Jak wygenerować wiele BarCodes w partii?

Generowanie partii zmniejsza nakład pracy związany z tworzeniem dużych zestawów kodów Data Matrix na potrzeby produkcji seryjnej, etykiet wysyłkowych lub inwentaryzacji seryjnej:

// Generate barcodes for a batch of products
string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" };

foreach (string id in productIds)
{
    var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix);
    batchBarcode.ResizeTo(150, 150);
    batchBarcode.AddAnnotationTextBelowBarcode(id);

    // Save each barcode with a unique filename
    string filename = $"barcode_{id.Replace("-", "_")}.png";
    batchBarcode.SaveAsImage(filename);
}

Ten wzorzec pasuje do procesów logistycznych i opieki zdrowotnej, które wymagają dużych zestawów etykiet, z których każda jest powiązana z unikalnym identyfikatorem. W przypadku aplikacji internetowych umieszczanie BarCODE bezpośrednio w dokumentach PDF lub przesyłanie ich strumieniowo jako tablice bajtów umożliwia generowanie etykiet w czasie rzeczywistym bez zapisywania plików pośrednich.

Data Matrix Generator in C#: Complete Guide with IronBarcode: Image 5 - Batch data matrix barcode creation

Przetwarzanie asynchroniczne i wielowątkowe dla dużych partii danych

Podczas generowania tysięcy BarCodes przetwarzanie synchroniczne staje się wąskim gardłem. IronBarcode zapewnia możliwości przetwarzania asynchronicznego i wielowątkowego, które pozwalają generować kody kreskowe równolegle na wielu rdzeniach procesora. W przypadku partii 10 000 etykiet przetwarzanie równoległe może skrócić całkowity czas generowania o rząd wielkości w porównaniu z pętlami sekwencyjnymi.

W przypadku scenariuszy wymagających dużej przepustowości warto rozważyć grupowanie kodów kreskowych w arkuszach PDF przy użyciu interfejsu API IronBarcode do stemplowania plików PDF zamiast zapisywania tysięcy pojedynczych plików graficznych, co może powodować obciążenie systemu plików zarówno w środowiskach Windows, jak i Linux.

Jak odczytywać i weryfikować BarCodes Data Matrix?

Generowanie kodów kreskowych to tylko połowa procesu — weryfikacja, czy skanery potrafią je poprawnie odczytać, zamyka cykl jakości. IronBarcode zawiera wbudowany czytnik kodów kreskowych, który pozwala na dekodowanie wygenerowanego obrazu natychmiast po jego utworzeniu:

// Generate a barcode
var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix);
generated.SaveAsImage("verify-test.png");

// Read it back to confirm correct encoding
var results = BarcodeReader.Read("verify-test.png");
foreach (var result in results)
{
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Format: {result.BarcodeTyp}");
}

Ten model weryfikacji w obie strony jest szczególnie cenny w branżach podlegających regulacjom, takich jak farmaceutyka, gdzie rozporządzenie DSCSA nakazuje, aby serializowane BARCODES na opakowaniach leków na receptę były zarówno czytelne dla maszyn, jak i miały prawidłowy format. Przeprowadzenie kontroli odczytu w ramach procesu generacji pozwala wychwycić błędy kodowania, zanim etykiety trafią na linię produkcyjną.

Dla bardziej zaawansowanych scenariuszy odczytu zobacz dokumentację czytania IronBarcode i przewodnik po czytaniu kodów kreskowych z PDF.

Typowe kwestie dotyczące kompatybilności skanerów

Różne wersje oprogramowania sprzętowego skanerów interpretują symbole Data Matrix z różną tolerancją dla stref ciszy i kontrastu modułów. W przypadku starszych skanerów ręcznych należy zwiększyć rozmiar modułu, używać kontrastowych kolorów czarnego na białym tle oraz zachować szerokość strefy ciszy wynoszącą co najmniej dwa moduły. Przewodnik GS1 Application Identifier zawiera wzorce kodowania identyfikatorów łańcucha dostaw, takich jak numery partii, daty ważności i kody GTIN, w ramach jednego symbolu Data Matrix.

Jakie są Twoje kolejne kroki?

Generowanie kodu kreskowego Data Matrix w C# z IronBarcode przebiega według spójnego wzoru: zainstaluj pakiet NuGet, wywołaj BarcodeWriter.CreateBarcode z BarcodeWriterEncoding.DataMatrix, zastosuj wszelkie wymagane dostosowania i eksportuj do docelowego formatu. Ten sam interfejs API obsługuje wszystko, od prototypów z pojedynczym BARCODE-em po potoki przetwarzające duże partie danych.

Oto zalecane sposoby dalszego postępowania:

  • Zbadaj czytanie kodów kreskowych: Przewodnik po odczytywaniu IronBarcode obejmuje dekodowanie kodów kreskowych z obrazów, PDFów i strumieni kamery na żywo.
  • Wypróbuj inne formaty 2D: IronBarcode generuje również kody QR, PDF417, Aztec oraz wszystkie główne formaty 1D przy użyciu tego samego API.
  • Osadzanie kodów kreskowych w dokumentach: Samouczek dotyczący stemplowania plików PDF pokazuje, jak programowo dodawać kody kreskowe do istniejących plików PDF.
  • Skalowanie dzięki przetwarzaniu asynchronicznemu: Zapoznaj się z przewodnikiem dotyczącym przetwarzania asynchronicznego i wielowątkowego, aby zrównoleglić duże zadania wsadowe.
  • Zapoznaj się z licencjami: Strona licencyjna IronBarcode zawiera opcje od licencji deweloperskiej po dystrybucję OEM.

Rozpocznij bezpłatny okres próbny, aby przetestować wszystkie funkcje bez ograniczeń, lub przejrzyj pełną dokumentację IronBarcode dla szczegółowych referencji API i dodatkowych przykładów kodu.

NuGetZainstaluj za pomocą NuGet

PM > Install-Package BarCode

Install IronBarcode by running the command above in the NuGet Package Manager Console, or search for the package in the NuGet Package Manager.
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