Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Data-Matrix-Generator in C# – Vollständiges Tutorial mit Codebeispielen

Data-Matrix-Barcodes packen eine beträchtliche Menge kodierter Daten auf kleinem Raum unter und sind daher die bevorzugte Wahl für die Kennzeichnung von Arzneimitteln, die Markierung elektronischer Bauteile und die Verfolgung von Artikeln in Bestandsverwaltungssystemen, wo der Platz begrenzt ist. Dieses Tutorial führt Sie durch die Erstellung von Data Matrix-Barcodes in C# mit IronBarcode , die Anpassung ihres Erscheinungsbilds, die Kodierung verschiedener Datentypen und den Export in verschiedene Dateiformate – alles mit unkompliziertem, produktionsreifem Code.

Starten Sie jetzt mit IronBarcode.
green arrow pointer

Was macht Data-Matrix-Barcodes so besonders?

Data Matrix BarCodes sind 2D-Symbole, die Daten in einem Raster aus schwarzen und weißen Punkten kodieren, die in Zeilen und Spalten angeordnet sind. Im Gegensatz zu herkömmlichen linearen Barcodes wie UPC oder EAN können sie bis zu 2.335 alphanumerische Zeichen oder 3.116 numerische Ziffern auf einer Fläche von nur 10 x 10 Modulen speichern. Dank ihrer eingebauten Reed-Solomon-Fehlerkorrektur können sie von modernen Barcode-Scannern auch dann präzise gelesen werden, wenn bis zu 30 % des Symbols beschädigt sind.

Aufgrund dieser Eigenschaften eignet sich Data Matrix ideal für die Kennzeichnung von Kleinteilen, postalischen Barcodes und elektronischen Komponenten sowie für die Etikettierung im Gesundheitswesen und in Logistikzentren. Die Gesundheitsbranche nutzt GS1 Data Matrix-Standards zur Medikamentenverfolgung, während Hersteller diese in Produktionslinien integrieren, um Produkte weltweit zu identifizieren. Da ein einzelner Barcode so viele Daten speichern kann, werden sie mittlerweile international branchenübergreifend eingesetzt, um eine vollständige Rückverfolgbarkeit von Anwendungen zu gewährleisten.

Der ISO/IEC 16022-Standard regelt die Data-Matrix-Codierung und definiert die ECC200-Variante, die IronBarcode standardmäßig verwendet. ECC200 bietet die effizienteste Fehlerkorrektur und die größte Datenkapazität aller Data Matrix-Versionen und ist damit die richtige Wahl für neue Implementierungen.

Data Matrix vs. gängige Barcode-Formate
Format Typ Maximale Zeichenanzahl Fehlerkorrektur Typischer Anwendungsfall
Datenmatrix (ECC200) 2D 2.335 alphanumerische Reed-Solomon (~30%) Pharma, Elektronik, Logistik
QR-Code 2D 4.296 alphanumerische Reed-Solomon (bis zu 30%) URLs, Marketing, Zahlungen
UPC-A 1D 12 Ziffern Keine Identifizierung von Einzelhandelsprodukten
Code 128 1D ca. 50 Zeichen Nur Prüfsumme Versand, allgemeine Logistik

Wie installiert man die Barcode-Bibliothek in einem C#-Projekt?

Die Installation von IronBarcode dauert mit dem NuGet Paketmanager weniger als eine Minute. Öffnen Sie die Paketmanager-Konsole in Visual Studio und führen Sie den Befehl aus:

Install-Package BarCode

Data Matrix Generator in C#: Vollständige Anleitung mit IronBarcode: Bild 1 - Bild 1 von 5 zum Thema Data Matrix Generator in C#: Vollständige Anleitung mit IronBarcode

Alternativ können Sie in der NuGet -Paketmanager-GUI nach "BarCode by Iron Software" suchen. Nach der Installation fügen Sie den Namespace zu Ihrer C#-Datei hinzu:

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

Das ist die gesamte erforderliche Einrichtung. IronBarcode übernimmt die gesamte komplexe Data-Matrix-Codierung intern gemäß dem ISO/IEC 16022-Standard, sodass Sie sich auf die Anwendungslogik konzentrieren können. Weitere Installationsoptionen wie Offline-Installation oder benutzerdefinierte Paketquellen finden Sie im IronBarcode -Installationshandbuch und auf der Seite zur erweiterten NuGet Installation .

Unterstützte Zielframeworks

IronBarcode ist kompatibel mit .NET 10, .NET 8, .NET 6, .NET 5, .NET Standard 2.0 und .NET Framework 4.6.2 und höher. Wenn Ihr Projekt auf eines dieser Frameworks abzielt, wird das NuGet Paket ohne zusätzliche Konfiguration installiert.

Wie erstellt man seinen ersten Data-Matrix-Barcode?

Zum Generieren eines Data-Matrix-Barcodes wird nur eine Codezeile benötigt:

// 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");
$vbLabelText   $csharpLabel

Dieser Code erstellt einen Data-Matrix-Barcode, der den Text PROD-12345-2024 kodiert, und speichert ihn als PNG-Datei. Der Parameter BarcodeWriterEncoding.DataMatrix weist IronBarcode an, das Data-Matrix-Format zu verwenden. Der resultierende Barcode wendet automatisch die ECC200-Spezifikation an, die eine integrierte Fehlerkorrektur beinhaltet und ein zuverlässiges Scannen unter realen Bedingungen gewährleistet.

BarCode-Ausgabe

Data Matrix Generator in C#: Vollständige Anleitung mit IronBarcode: Bild 2 - Erste Barcode-Ausgabe

Zur sofortigen Verwendung in Anwendungen kann der Barcode als Bitmap abgerufen oder direkt als PDF exportiert werden:

// 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");
$vbLabelText   $csharpLabel

IronBarcode unterstützt den Export in die Formate PNG, JPEG, BMP, GIF, TIFF, SVG und PDF. Sie können auch Barcodes erstellen und auf bestehende PDF-Dokumente drucken , um diese in Bestellungen, Rechnungen oder Versandmanifeste einzubetten.

Welche Datentypen können in einem Data-Matrix-Barcode kodiert werden?

Data Matrix unterstützt mehrere Kodierungsmodi, die jeweils für einen anderen Zeichensatz optimiert sind. IronBarcode wählt automatisch den effizientesten Modus basierend auf den von Ihnen bereitgestellten Inhalten aus:

// 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");
$vbLabelText   $csharpLabel

Numerische Daten verwenden einen kompakten Kodierungsmodus, der die Barcodegröße im Vergleich zu alphanumerischem Text reduziert. Die Binärkodierung verarbeitet Sonderzeichen und Unicode-Text ohne manuelle Konfiguration. IronBarcode wählt automatisch den effizientesten Kodierungsmodus aus, sodass Sie ihn nicht explizit angeben müssen.

Ausgabe

Hier wurden alle vier Datentypen erfolgreich in gültige Data-Matrix-Barcodes kodiert.

Data Matrix Generator in C#: Vollständige Anleitung mit IronBarcode: Bild 3 - Data Matrix Barcodes erstellt mit 4 verschiedenen Datentypen

Für einen detaillierteren Einblick in die Kodierungsoptionen und die Unterstützung von Zeichensätzen siehe die IronBarcode -Kodierungsdokumentation und die Barcode-Datentypreferenz .

Wie kann man das Erscheinungsbild eines Data-Matrix-Barcodes anpassen?

IronBarcode bietet eine vollständige Palette an Barcode-Anpassungsoptionen zur Steuerung von Größe, Farbe, Beschriftungen und Rändern:

// 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");
$vbLabelText   $csharpLabel

Diese individuellen Anpassungen helfen dabei, die Anforderungen des Corporate Brandings oder spezifische Kennzeichnungsstandards zu erfüllen. Die Methode ResizeTo gewährleistet die korrekten Modulproportionen, was für die Lesbarkeit von Data-Matrix-Daten bei jedem Scannerabstand unerlässlich ist. Farbänderungen ermöglichen die Berücksichtigung spezieller Druckverfahren oder Substratbeschränkungen, wie z. B. farbige Etiketten oder metallische Materialien. Der durch SetMargins festgelegte Abstand zwischen den Leerzeichen erfüllt die in der ISO/IEC 16022-Spezifikation definierte Mindestanforderung an den Leerraum.

Data Matrix Generator in C#: Vollständige Anleitung mit IronBarcode: Bild 4 - Benutzerdefinierte Data Matrix-Ausgabe

Die richtige Barcode-Größe auswählen

Die minimale lesbare Größe eines Data-Matrix-Barcodes hängt von der Scanner- und Druckauflösung ab. Für allgemeine Scanzwecke wird eine Modulgröße von mindestens 0,3 mm empfohlen. Bei einer Druckauflösung von 300 DPI misst ein 500-Pixel-Barcode etwa 42 mm im Quadrat – ausreichend für zuverlässiges Scannen mit einem Handscanner. Bei kleineren Etiketten sollte die DPI-Zahl erhöht oder die Datenmenge reduziert werden, damit das Symbol in einem lesbaren Größenbereich bleibt.

Wie generiert man mehrere Barcodes in einem Batch?

Die Stapelgenerierung reduziert den Aufwand bei der Erstellung großer Mengen von Data-Matrix-Codes für Produktionsläufe, Versandetiketten oder serialisierte Lagerbestände:

// 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);
}
$vbLabelText   $csharpLabel

Dieses Muster eignet sich für Logistik- und Gesundheitsprozesse, die große Etikettensätze erfordern, wobei jedes Etikett mit einer eindeutigen Kennung verknüpft ist. Bei Webanwendungen ermöglicht das direkte Aufbringen von Barcodes auf PDF-Dokumente oder deren Übertragung als Byte-Arrays die Echtzeit-Etikettengenerierung ohne Zwischenspeicherung.

Data Matrix Generator in C#: Vollständige Anleitung mit IronBarcode: Bild 5 - Batch-Erstellung von Data-Matrix-Barcodes

Asynchrone und Multithread-Verarbeitung für große Stapel

Bei der Generierung von Tausenden von Barcodes wird die synchrone Verarbeitung zum Flaschenhals. IronBarcode bietet asynchrone und Multithread-Verarbeitungsfunktionen , die es Ihnen ermöglichen, Barcodes parallel auf mehreren CPU-Kernen zu generieren. Bei einem Stapel von 10.000 Etiketten kann die parallele Verarbeitung die gesamte Generierungszeit im Vergleich zu sequenziellen Schleifen um eine Größenordnung reduzieren.

Bei Szenarien mit hohem Durchsatz empfiehlt es sich, Barcodes mithilfe der PDF-Stempel-API von IronBarcode in PDF-Blätter zu gruppieren, anstatt Tausende einzelner Bilddateien zu speichern, was sowohl bei Windows- als auch bei Linux-Systemen zu einem Dateisystem-Overhead führen kann.

Wie liest und verifiziert man Data-Matrix-Barcodes?

Das Generieren von Barcodes ist nur die halbe Miete – die Überprüfung, ob Scanner sie korrekt lesen können, schließt den Qualitätskreislauf. IronBarcode enthält einen integrierten Barcode-Leser, mit dem Sie ein generiertes Bild direkt nach dessen Erstellung dekodieren können:

// 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}");
}
$vbLabelText   $csharpLabel

Dieses Verfahren zur Rundum-Verifizierung ist besonders wertvoll in regulierten Branchen wie der Pharmaindustrie, wo die DSCSA-Verordnung vorschreibt, dass serialisierte Barcodes auf verschreibungspflichtigen Arzneimittelverpackungen sowohl maschinenlesbar als auch korrekt formatiert sein müssen. Durch die Durchführung einer Rückleseprüfung im Rahmen der Generierungspipeline werden Kodierungsfehler erkannt, bevor die Labels die Produktionslinie erreichen.

Für fortgeschrittenere Leseszenarien konsultieren Sie bitte die IronBarcode Lesedokumentation und den Leitfaden zum Lesen von Barcodes aus PDFs .

Allgemeine Überlegungen zur Scan-Kompatibilität

Unterschiedliche Firmware-Versionen von Scannern interpretieren Data-Matrix-Symbole mit unterschiedlicher Toleranz gegenüber Ruhezonen und Modulkontrast. Bei älteren Handscannern empfiehlt es sich, die Modulgröße zu erhöhen, kontrastreiche Schwarz-auf-Weiß-Farben zu verwenden und die Ruhezone mindestens zwei Modulbreiten breit zu halten. Der GS1 Application Identifier Guide enthält Kodierungsmuster für Lieferkettenkennungen wie Chargennummern, Verfallsdaten und GTINs innerhalb eines einzelnen Data-Matrix-Symbols.

Was sind Ihre nächsten Schritte?

Die Generierung von Data Matrix-Barcodes in C# mit IronBarcode folgt einem einheitlichen Muster: Installieren Sie das NuGet Paket, rufen Sie BarcodeWriter.CreateBarcode mit BarcodeWriterEncoding.DataMatrix auf, nehmen Sie alle erforderlichen Anpassungen vor und exportieren Sie in Ihr Zielformat. Dieselbe API verarbeitet alles von Prototypen mit einem einzigen Barcode bis hin zu Batch-Pipelines mit hohem Datenvolumen.

Hier sind die empfohlenen Wege, um dies weiter zu verfolgen:

  • Barcode-Lesen entdecken : Der IronBarcode Leseleitfaden behandelt das Dekodieren von Barcodes aus Bildern, PDFs und Live-Kamerastreams.
  • Probieren Sie andere 2D-Formate aus : IronBarcode generiert mit derselben API auch QR-Codes , PDF417, Aztec und alle gängigen 1D-Formate.
  • Barcodes in Dokumente einbetten : Das PDF-Stempelt-Tutorial zeigt, wie man programmgesteuert Barcodes zu bestehenden PDFs hinzufügt.
  • Skalierung mit asynchroner Verarbeitung : Lesen Sie den Leitfaden zu asynchroner und Multithread-Verarbeitung , um große Batch-Jobs zu parallelisieren.
  • Lizenzprüfung : Auf derIronBarcode -Lizenzseite werden die Optionen für die Weiterverteilung vom Entwickler bis zum OEM aufgelistet.

Starten Sie eine kostenlose Testversion , um alle Funktionen uneingeschränkt zu testen, oder lesen Sie die vollständige IronBarcode -Dokumentation für detaillierte API-Referenzen und zusätzliche Codebeispiele.

NuGet Mit NuGet installieren

PM >  Install-Package BarCode

Schauen Sie sich IronBarcode auf NuGet für eine schnelle Installation an. Mit über 10 Millionen Downloads transformiert es die PDF-Entwicklung mit C#. Sie können auch das DLL herunterladen.

Häufig gestellte Fragen

Was ist ein Data Matrix Barcode?

Ein Data-Matrix-Barcode ist ein zweidimensionales Symbol gemäß der Norm ISO/IEC 16022, das bis zu 2.335 alphanumerische Zeichen oder 3.116 Ziffern in einem kleinen Raster kodiert. Er wird häufig in der pharmazeutischen Kennzeichnung, der Elektronikmarkierung und der Bestandsverwaltung eingesetzt.

Wie generiert man einen Data-Matrix-Barcode in C#?

Rufen Sie `BarcodeWriter.CreateBarcode` mit Ihrer Datenzeichenfolge und `BarcodeWriterEncoding.DataMatrix` auf und speichern Sie das Ergebnis anschließend mit `SaveAsImage` oder `SaveAsPdf`. IronBarcode übernimmt die ECC200-Kodierung und Fehlerkorrektur automatisch.

Welche Vorteile bietet die Verwendung von IronBarcode für die Erstellung von Data Matrix?

IronBarcode generiert ECC200 Data Matrix Barcodes in einer einzigen Codezeile, übernimmt die automatische Auswahl des Kodierungsmodus und exportiert ohne zusätzliche Abhängigkeiten in die Formate PNG, PDF, SVG und weitere.

Kann IronBarcode Data Matrix Barcodes in verschiedene Dateiformate exportieren?

Ja. IronBarcode exportiert Data-Matrix-Barcodes in die Formate PNG, JPEG, BMP, GIF, TIFF, SVG und PDF. Sie können Barcodes auch direkt in bestehende PDF-Dokumente einfügen.

Ist es möglich, Data Matrix Barcodes mit IronBarcode anzupassen?

Ja. IronBarcode bietet ResizeTo für die Abmessungen, ChangeBarCodeColor und ChangeBackgroundColor für die Farbe, AddAnnotationTextBelowBarcode für lesbaren Text und SetMargins für die Steuerung der Ruhezone.

Für welche Branchen sind Data Matrix BarCodes besonders geeignet?

Data-Matrix-Barcodes werden in der Pharmaindustrie zur Einhaltung der DSCSA-Vorschriften, in der Elektronikindustrie zur Bauteilidentifizierung, in der Logistik zur Paketverfolgung und im Gesundheitswesen zur GS1-konformen Medikamentenkennzeichnung häufig verwendet.

Welche Data-Matrix-Version generiert IronBarcode ?

IronBarcode generiert standardmäßig ECC200-Data-Matrix-Barcodes. ECC200 ist die aktuelle Version des ISO/IEC-16022-Standards und bietet die höchste Datenkapazität sowie Reed-Solomon-Fehlerkorrektur.

Warum sollte man Data-Matrix-Barcodes anderen 2D-Codes vorziehen?

Data-Matrix-Barcodes werden aufgrund ihrer hohen Datendichte auf kleinem Raum, der Reed-Solomon-Fehlerkorrektur, die bis zu 30 % Symbolbeschädigung übersteht, und der in regulierten Branchen weltweit anerkannten ISO/IEC-Normung bevorzugt.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an