Generator Data Matrix w C# — Kompletny samouczek z przykładami kodu
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 pokazuje, jak generować kody kreskowe Data Matrix w języku C# przy użyciu biblioteki IronBarcode, dostosowywać ich wygląd, kodować różne typy danych oraz eksportować je do różnych formatów plików — wszystko to za pomocą prostego kodu gotowego do użycia w produkcji.
!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101000101111101010011010101000100000101010010010101000100010101000100010111110101011101001001010100010010000101111101010000010100100100111101000100010101010100001101010100010111110101010001010010010010010100000101001100010111110100001001001100010011110100001101001011--}
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ń.
| Format | Typ | Maksymalna liczba znaków | Korekta błędów | Typowy przypadek użycia |
|---|---|---|---|---|
| Data Matrix (ECC200) | 2D | 2 335 znaków alfanumerycznych | Reed-Solomon (~30%) | Farmaceutyka, elektronika, logistyka |
| Kod QR | 2D | 4 296 znaków alfanumerycznych | Reed-Solomon (do 30%) | Adresy URL, marketing, płatności |
| UPC-A | 1D | 12 cyfr | None | Identyfikacja produktów detalicznych |
| Kod 128 | 1D | ~50 znaków | Tylko suma kontrolna | Wysyłka, logistyka ogólna |
Jak zainstalować bibliotekę BarCode 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:
Install-Package BarCode

Alternatywnie, poszukaj BarCode firmy Iron Software w interfejsie graficznym menedżera pakietów NuGet. Po instalacji dodaj przestrzeń nazw do pliku C#:
using IronBarCode;
using IronBarCode;
Imports 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");
// 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");
' Create a Data Matrix barcode with product information
Dim 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 zawierający tekst PROD-12345-2024 i zapisuje go jako plik PNG. Parametr BarcodeWriterEncoding.DataMatrix nakazuje bibliotece IronBarcode użycie 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

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");
// 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");
' Get barcode as a bitmap for direct display in a UI control
Dim 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");
// 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");
Imports System
' Encode alphanumeric product codes
Dim productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix)
productCode.SaveAsImage("product-code.png")
' Encode numeric serial numbers (numeric mode uses less space)
Dim serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix)
serialNumber.SaveAsImage("serial-number.png")
' Encode URLs for product landing pages or support portals
Dim urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix)
urlCode.SaveAsImage("url-datamatrix.png")
' Encode Unicode text for international applications
Dim 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.

Aby uzyskać więcej informacji na temat opcji kodowania i obsługi zestawów znaków, zapoznaj się z dokumentacją dotyczącą kodowania IronBarcode oraz opisem typu danych BarCode.
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");
// 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");
' Create barcode with custom styling
Dim 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 odpowiednie proporcje modułów, co jest niezbędne dla czytelności kodów Data Matrix przy 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 strefy ciszy ustalony przez SetMargins spełnia minimalne wymagania dotyczące odstępów określone w specyfikacji ISO/IEC 16022.

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);
}
// 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);
}
' Generate barcodes for a batch of products
Dim productIds As String() = {"PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005"}
For Each id As String In productIds
Dim batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix)
batchBarcode.ResizeTo(150, 150)
batchBarcode.AddAnnotationTextBelowBarcode(id)
' Save each barcode with a unique filename
Dim filename As String = $"barcode_{id.Replace("-", "_")}.png"
batchBarcode.SaveAsImage(filename)
Next
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.

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}");
}
// 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}");
}
Imports System
' Generate a barcode
Dim generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix)
generated.SaveAsImage("verify-test.png")
' Read it back to confirm correct encoding
Dim results = BarcodeReader.Read("verify-test.png")
For Each result In results
Console.WriteLine($"Decoded value: {result.Value}")
Console.WriteLine($"Format: {result.BarcodeTyp}")
Next
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ą.
W przypadku bardziej zaawansowanych scenariuszy odczytu zapoznaj się z dokumentacją dotyczącą odczytu IronBarcode oraz przewodnikiem dotyczącym odczytu kodów kreskowych z plików 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 kodów kreskowych Data Matrix w języku C# za pomocą IronBarcode przebiega według spójnego schematu: zainstaluj pakiet NuGet, wywołaj BarcodeWriter.CreateBarcode za pomocą BarcodeWriterEncoding.DataMatrix, zastosuj wszelkie wymagańe dostosowania i wyeksportuj do formatu docelowego. 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:
- Poznaj odczytywanie kodów kreskowych: Przewodnik IronBarcode obejmuje dekodowanie kodów kreskowych z obrazów, plików PDF i strumieni na żywo z kamer.
- 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 zapoznaj się z pełną dokumentacją IronBarcode, aby uzyskać szczegółowe informacje o Dokumentacji API i dodatkowe przykłady kodu.
Często Zadawane Pytania
Czym jest kod kreskowy Data Matrix?
The Data Matrix barcode is a 2D symbol that complies with the ISO/IEC 16022 standard and codes up to 2335 alphanumeric characters or 3116 digits in a small grid. It is commonly used in pharmaceutical labeling, electronic marking, and inventory management.
Jak wygenerować barcode Data Matrix w języku C#?
Wywołaj BarcodeWriter.CreateBarcode z ciągiem danych i BarcodeWriterEncoding.DataMatrix, a następnie wywołaj SaveAsImage lub SaveAsPdf na wyniku. IronBarcode automatycznie obsługuje kodowanie ECC200 i korekcję błędów.
Jakie są zalety korzystania z IronBarcode do generowania kodów Data Matrix?
IronBarcode generuje kody kreskowe ECC200 Data Matrix za pomocą jednej linii kodu, obsługuje automatyczny wybór trybu kodowania oraz eksportuje do formatów PNG, PDF, SVG i innych bez dodatkowych zależności.
Czy IronBarcode może eksportować kody kreskowe Data Matrix do różnych formatów plików?
Tak. IronBarcode eksportuje kody kreskowe Data Matrix do formatów PNG, JPEG, BMP, GIF, TIFF, SVG i PDF. Można również umieszczać kody kreskowe bezpośrednio na istniejących dokumentach PDF.
Czy za pomocą IronBarcode można dostosowywać barcodes Data Matrix?
Tak. IronBarcode udostępnia funkcję ResizeTo do zmiany wymiarów, ChangeBarCodeColor i ChangeBackgroundColor do zmiany kolorów, AddAnnotationTextBelowBarcode do dodawania tekstu czytelnego dla człowieka oraz SetMargins do kontroli strefy cichej.
Dla jakich branż BarCodes Data Matrix są szczególnie odpowiednie?
BarCODE Data Matrix jest szeroko stosowany w branży farmaceutycznej w celu zapewnienia zgodności z DSCSA, w elektronice do identyfikacji komponentów, w logistyce do śledzenia przesyłek oraz w służbie zdrowia do etykietowania leków zgodnego z GS1.
Jaką wersję Data Matrix generuje IronBarcode?
IronBarcode domyślnie generuje kody kreskowe ECC200 Data Matrix. ECC200 to aktualna wersja standardu ISO/IEC 16022, zapewniająca największą pojemność danych oraz korekcję błędów metodą Reeda-Solomona.
Dlaczego warto używać BarCodes Data Matrix zamiast innych kodów 2D?
BarCodes Data Matrix są preferowane ze względu na wysoką gęstość danych przy niewielkich rozmiarach fizycznych, korekcję błędów Reed-Solomona, która pozwala na uszkodzenie do 30% symboli, oraz standaryzację ISO/IEC uznawaną w branżach regulowanych na całym świecie.




