Wie man QR-Codes & Barcodes in C# generiert

Generate QR Codes in C# - Complete Tutorial for .NET Developers

This article was translated from English: Does it need improvement?
Translated
View the article in English

Müssen Sie QR-Codes in Ihrer C#-Anwendung generieren? Dieses Tutorial zeigt Ihnen genau, wie Sie QR-Codes mit IronBarcode erstellen, anpassen und überprüfen—von einfachen Einzeilenimplementierungen bis hin zu erweiterten Funktionen wie Logo-Einbettung und binärer Datenkodierung.

Egal ob Sie Inventarisierungssysteme, Ticketing-Plattformen oder kontaktlose Zahlungslösungen entwickeln, Sie lernen, wie Sie professionelle QR-Code-Funktionalität in Ihre .NET-Anwendungen integrieren.

Schnellstart: QR-Code-Erstellung mit nur einem Zeilenbefehl über IronBarcode

Bereit, schnell einen QR-Code zu generieren? Hier erfahren Sie, wie Sie die QRCodeWriter-API von IronBarcode verwenden können, um in nur einer Codezeile einen QR-Code zu erstellen—die Anpassung ist optional, aber leistungsstark.

  1. Installieren Sie IronBarcode mit NuGet Package Manager

    PM > Install-Package BarCode
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var qr = QRCodeWriter.CreateQrCode("https://ironsoftware.com/", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium); qr.SaveAsPng("MyQR.png");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronBarcode in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

How Do I Install a QR Code Library in C#?

Installieren Sie IronBarcode mit dem NuGet-Paket-Manager mit diesem einfachen Befehl:

Install-Package BarCode

Über NuGet installieren

Alternativ, laden Sie die IronBarcode DLL direkt herunter und fügen Sie sie als Verweis zu Ihrem Projekt hinzu.

Erforderliche Namespaces importieren

Fügen Sie diese Namespaces hinzu, um die QR-Code-Generierungsfunktionen von IronBarcode zugänglich zu machen:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-3.cs
using IronBarCode;

// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);

myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);

// Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf");

// Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");
Imports IronBarCode

' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)

myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)

' Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf")

' Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html")
$vbLabelText   $csharpLabel

How Can I Create a Simple QR Code in C#?

Generieren Sie einen QR-Code mit nur einer Codezeile unter Verwendung der IronBarcode-Methode von CreateQrCode:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-4.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;

// Verifying QR Codes
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode MyVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);

MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue);

if (!MyVerifiedQR.Verify())
{
    Console.WriteLine("\t LightBlue is not dark enough to be read accurately.  Lets try DarkBlue");
    MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");

// open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html");
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System

' Verifying QR Codes
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private MyVerifiedQR As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)

MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue)

If Not MyVerifiedQR.Verify() Then
	Console.WriteLine(vbTab & " LightBlue is not dark enough to be read accurately.  Lets try DarkBlue")
	MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)
End If
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")

' open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html")
$vbLabelText   $csharpLabel

Die CreateQrCode-Methode akzeptiert drei Parameter:

  • Textinhalt: Die zu kodierenden Daten (unterstützt URLs, Text oder beliebige Zeichenfolgendaten)
  • Größe: Pixelabmessungen für das quadratische QR-Code-Format (500x500 in diesem Beispiel)
  • Fehlerkorrektur: Bestimmt die Lesbarkeit unter suboptimalen Bedingungen (Niedrig, Mittel, Quartil oder Hoch)

Höhere Fehlerkorrekturstufen ermöglichen es QR-Codes, auch dann noch lesbar zu bleiben, wenn sie teilweise beschädigt oder verdeckt sind, obwohl sie zu dichteren Mustern mit mehr Datenmodulen führen.

Standard-QR-Code, generiert mit IronBarcode in C# Ein einfacher QR-Code mit dem Text 'hello world', bei 500x500 Pixeln mit mittlerer Fehlerkorrektur generiert

Wie füge ich meinem QR-Code ein Logo hinzu?

Das Einbetten von Logos in QR-Codes verbessert die Markenwiedererkennung und erhält die Scannbarkeit. IronBarcode positioniert und dimensioniert Logos automatisch, um die Integrität des QR-Codes zu wahren:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-5.cs
using IronBarCode;
using System;
using System.Linq;

// Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
byte[] BinaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");

// WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png");

// READ QR with Binary Content
var MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
if (BinaryData.SequenceEqual(MyReturnedData.BinaryValue))
{
    Console.WriteLine("\t Binary Data Read and Written Perfectly");
}
else
{
    throw new Exception("Corrupted Data");
}
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports System
Imports System.Linq

' Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
Private BinaryData() As Byte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")

' WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png")

' READ QR with Binary Content
Dim MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
If BinaryData.SequenceEqual(MyReturnedData.BinaryValue) Then
	Console.WriteLine(vbTab & " Binary Data Read and Written Perfectly")
Else
	Throw New Exception("Corrupted Data")
End If
$vbLabelText   $csharpLabel

Die CreateQrCodeWithLogo-Methode behandelt die Logo-Platzierung intelligent, indem:

  • Automatisches Skalieren des Logos zur Aufrechterhaltung der QR-Code-Lesbarkeit
  • Positionierung innerhalb der Ruhezone zur Vermeidung von Datenbeschädigung
  • Beibehaltung der Originalfarben des Logos bei Änderung der QR-Code-Farben

Dieser Ansatz stellt sicher, dass Ihre gebrandeten QR-Codes auf allen Scanning-Geräten und Anwendungen voll funktionsfähig bleiben.

QR-Code mit eingebettetem Visual Studio-Logo QR-Code mit dem Visual-Studio-Logo, der die automatische Logo-Skalierung und -Positionierung von IronBarcode demonstriert

Wie kann ich QR-Codes in verschiedene Formate exportieren?

IronBarcode unterstützt mehrere Exportformate für unterschiedliche Anwendungsfälle. Exportieren Sie Ihre QR-Codes als Bilder, PDFs oder HTML-Dateien:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-6.cs
using IronBarCode;
using System;
using System.Linq;

BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { ExpectBarcodeTypes = BarcodeEncoding.QRCode });
if (result != null)
{
    Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq

Private result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})
If result IsNot Nothing Then
	Console.WriteLine(result.First().Value)
End If
$vbLabelText   $csharpLabel

Jedes Format dient speziellen Zwecken:

  • PDF: Ideal für druckfähige Dokumente und Berichte
  • HTML: Perfekt für die Web-Integration ohne externe Abhängigkeiten
  • PNG/JPEG: Standardbildformate für vielseitige Nutzung

Wie überprüfe ich die Lesbarkeit des QR-Codes nach der Anpassung?

Farbänderungen und Logo-Zusätze können die Scannbarkeit von QR-Codes beeinträchtigen. Verwenden Sie die Verify()-Methode, um sicherzustellen, dass Ihre angepassten QR-Codes lesbar bleiben:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-7.cs
using IronBarCode;
using System;
using System.Linq;

BarcodeReaderOptions options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.All,
    Multithreaded = false,
    MaxParallelThreads = 0,
    CropArea = null,
    UseCode39ExtendedMode = false,
    RemoveFalsePositive = false,
    ImageFilters = null
};

BarcodeResults result = BarcodeReader.Read("QR.png", options);
if (result != null)
{
    Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq

Private options As New BarcodeReaderOptions With {
	.Speed = ReadingSpeed.Faster,
	.ExpectMultipleBarcodes = False,
	.ExpectBarcodeTypes = BarcodeEncoding.All,
	.Multithreaded = False,
	.MaxParallelThreads = 0,
	.CropArea = Nothing,
	.UseCode39ExtendedMode = False,
	.RemoveFalsePositive = False,
	.ImageFilters = Nothing
}

Private result As BarcodeResults = BarcodeReader.Read("QR.png", options)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Value)
End If
$vbLabelText   $csharpLabel

Die Verify()-Methode führt einen umfassenden Scan-Test an Ihrem QR-Code durch. Dies stellt die Kompatibilität bei unterschiedlichen Scanning-Geräten und Lichtverhältnissen sicher, bevor der Einsatz erfolgt.

Verifizierter QR-Code mit dunkelblauer Färbung und Visual Studio-Logo Ein erfolgreich verifizierter QR-Code in Dunkelblau, der den richtigen Kontrast für zuverlässiges Scannen demonstriert

Wie kann ich binäre Daten in QR-Codes kodieren?

QR-Codes eignen sich hervorragend zum effizienten Speichern von Binärdaten. Diese Fähigkeit ermöglicht fortschrittliche Anwendungen wie verschlüsselte Datenübertragung, Dateifreigabe und IoT-Gerätekonfiguration:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-8.cs
using IronBarCode;
using System;
using System.Linq;

// Convert string to binary data
byte[] binaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");

// Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png");

// Read and verify binary data integrity
var myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();

// Confirm data matches original
if (binaryData.SequenceEqual(myReturnedData.BinaryValue))
{
    Console.WriteLine("Binary Data Read and Written Perfectly");
}
else
{
    throw new Exception("Data integrity check failed");
}
Imports IronBarCode
Imports System
Imports System.Linq

' Convert string to binary data
Dim binaryData As Byte() = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")

' Create QR code from binary content
QRCodeWriter.CreateQrCode(binaryData, 500).SaveAsPng("MyBinaryQR.png")

' Read and verify binary data integrity
Dim myReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()

' Confirm data matches original
If binaryData.SequenceEqual(myReturnedData.BinaryValue) Then
    Console.WriteLine("Binary Data Read and Written Perfectly")
Else
    Throw New Exception("Data integrity check failed")
End If
$vbLabelText   $csharpLabel

Die Binärkodierung in QR-Codes bietet mehrere Vorteile:

  • Effizienz: Speichert Daten im kompakten Binärformat
  • Vielseitigkeit: Handhabt jede Art von Daten (Dateien, verschlüsselte Inhalte, serialisierte Objekte)
  • Integrität: Bewahrt exakte Byte-Sequenzen ohne Kodierungsprobleme

Diese Funktion unterscheidet IronBarcode von einfachen QR-Code-Bibliotheken und ermöglicht anspruchsvolle Datenaustauschszenarien in Ihren Anwendungen.

QR-Code mit binär kodierten Daten QR-Code zum Speichern von Binärdaten, der die erweiterten Codierungsfunktionen von IronBarcode demonstriert

How Do I Read QR Codes in C#?

IronBarcode bietet flexible Leseoptionen für QR-Codes. Hier ist der einfachste Ansatz:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-9.cs
using IronBarCode;
using System;
using System.Linq;

// Read QR code with optimized settings
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { 
    ExpectBarcodeTypes = BarcodeEncoding.QRCode 
});

// Extract and display the decoded value
if (result != null && result.Any())
{
    Console.WriteLine(result.First().Value);
}
else
{
    Console.WriteLine("No QR codes found in the image.");
}
Imports IronBarCode
Imports System
Imports System.Linq

' Read QR code with optimized settings
Dim result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode
})

' Extract and display the decoded value
If result IsNot Nothing AndAlso result.Any() Then
    Console.WriteLine(result.First().Value)
Else
    Console.WriteLine("No QR codes found in the image.")
End If
$vbLabelText   $csharpLabel

Für komplexere Szenarien, die feinabgestimmte Kontrolle erfordern:

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-10.cs
using IronBarCode;
using System;
using System.Linq;

// Configure advanced reading options
BarcodeReaderOptions options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,           // Optimize for speed
    ExpectMultipleBarcodes = false,        // Single QR code expected
    ExpectBarcodeTypes = BarcodeEncoding.QRCode, // QR codes only
    Multithreaded = true,                  // Enable parallel processing
    MaxParallelThreads = 4,                // Utilize multiple CPU cores
    RemoveFalsePositive = true,            // Filter out false detections
    ImageFilters = new ImageFilterCollection() // Apply preprocessing
    {
        new AdaptiveThresholdFilter(),    // Handle varying lighting
        new ContrastFilter(),              // Enhance contrast
        new SharpenFilter()                // Improve edge definition
    }
};

// Read with advanced configuration
BarcodeResults result = BarcodeReader.Read("QR.png", options);
Imports IronBarCode
Imports System
Imports System.Linq

' Configure advanced reading options
Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Faster,           ' Optimize for speed
    .ExpectMultipleBarcodes = False,        ' Single QR code expected
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode, ' QR codes only
    .Multithreaded = True,                  ' Enable parallel processing
    .MaxParallelThreads = 4,                ' Utilize multiple CPU cores
    .RemoveFalsePositive = True,            ' Filter out false detections
    .ImageFilters = New ImageFilterCollection() From { ' Apply preprocessing
        New AdaptiveThresholdFilter(),      ' Handle varying lighting
        New ContrastFilter(),               ' Enhance contrast
        New SharpenFilter()                 ' Improve edge definition
    }
}

' Read with advanced configuration
Dim result As BarcodeResults = BarcodeReader.Read("QR.png", options)
$vbLabelText   $csharpLabel

Diese fortgeschrittenen Leseoptionen ermöglichen zuverlässige QR-Code-Erkennung unter schwierigen Bedingungen wie schlechten Lichtverhältnissen, Bildverzerrung oder minderwertigen Drucken.

Wie geht es weiter mit der QR-Code-Entwicklung?

Da Sie nun die QR-Code-Generierung mit IronBarcode beherrschen, erkunden Sie diese fortgeschrittenen Themen:

Ressourcen herunterladen

Zugriff auf den vollständigen Quellcode und Beispiele:

API-Dokumentation

Erkunden Sie den vollständigen Funktionsumfang in der API-Referenz:

Alternative: IronQR für fortschrittliche QR-Anwendungen

Für Projekte, die hochmoderne QR-Code-Funktionen erfordern, empfiehlt sich IronQR, die spezialisierte QR-Code-Bibliothek von Iron Software, die maschinelles Lernen mit einer Genauigkeit von 99,99 % und erweiterte Generierungsoptionen bietet.

Bereit, QR-Codes in Ihrer .NET-Anwendung zu implementieren? Starten Sie Ihre kostenlose Testversion oder laden Sie IronBarcode noch heute herunter.

Häufig gestellte Fragen

Wie generiere ich einen QR-Code in C#?

Sie können in C# einen QR-Code mit der Methode IronBarcode's QRCodeWriter.CreateQrCode() generieren. Mit dieser Methode können Sie Ihren Inhalt, die Größe und das Fehlerkorrekturniveau angeben, um effizient einen QR-Code zu erstellen.

In welche Bildformate können QR-Codes exportiert werden?

Mit IronBarcode können Sie QR-Codes in verschiedene Formate exportieren, darunter PNG, JPEG, PDF und HTML. Methoden wie SaveAsPng(), SaveAsJpeg(), SaveAsPdf() und SaveAsHtmlFile() stehen dafür zur Verfügung.

Wie kann ich ein Firmenlogo zu einem QR-Code hinzufügen?

IronBarcode bietet die Methode CreateQrCodeWithLogo(), bei der Sie ein QRCodeLogo-Objekt mit Ihrem Logo-Bild übergeben können. Die Bibliothek stellt sicher, dass das Logo richtig skaliert und positioniert wird, um die Lesbarkeit des QR-Codes zu gewährleisten.

Was ist Fehlerkorrektur bei QR-Codes und welches Niveau sollte ich wählen?

Fehlerkorrektur bei QR-Codes ermöglicht es ihnen, auch bei teilweiser Beschädigung noch scannbar zu bleiben. IronBarcode bietet vier Niveaus: Niedrig (7%), Mittel (15%), Quartil (25%) und Hoch (30%). Mittel ist für die meisten Zwecke geeignet, während Hoch ideal für herausfordernde Umgebungen ist.

Wie überprüfe ich die Lesbarkeit eines angepassten QR-Codes?

Sie können die Verify()-Methode auf einem GeneratedBarcode-Objekt verwenden, um sicherzustellen, dass Ihr angepasster QR-Code nach Modifikationen wie Farbänderungen oder Logo-Hinzufügungen weiterhin scannbar ist.

Können Binärdaten in QR-Codes kodiert werden?

Ja, die Methode CreateQrCode() von IronBarcode unterstützt die Kodierung von Byte-Arrays, wodurch Sie Binärdaten wie Dateien oder verschlüsselte Inhalte in QR-Codes speichern können.

Wie lese ich QR-Codes aus Bildern in C#?

Um QR-Codes aus Bildern in C# zu lesen, verwenden Sie die Methode BarcodeReader.Read() von IronBarcode. Für eine optimierte Leistung geben Sie BarcodeEncoding.QRCode in den BarcodeReaderOptions an.

Was ist die maximale Datenkapazität eines QR-Codes?

Von IronBarcode generierte QR-Codes können bis zu 2.953 Bytes, 4.296 alphanumerische Zeichen oder 7.089 numerische Ziffern halten, abhängig vom ausgewählten Fehlerkorrekturlevel.

Wie kann ich die Farbe eines QR-Codes ändern und sicherstellen, dass er weiterhin scannbar bleibt?

Die Methode ChangeBarCodeColor() in IronBarcode ermöglicht es Ihnen, die Farbe eines QR-Codes zu ändern. Verwenden Sie anschließend immer die Verify()-Methode, um sicherzustellen, dass die Lesbarkeit des QR-Codes durch die Farbänderung nicht beeinträchtigt wird.

Welche Funktionen bietet eine spezialisierte QR-Code-Bibliothek?

IronQR, eine spezialisierte Bibliothek von Iron Software, bietet erweiterte Funktionen wie das maschinelles Lernen zum QR-Codes-Leseverfahren mit 99,99% Genauigkeit und robuste Erstellungsfähigkeiten für komplexe Anwendungen.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 2,317,217 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package BarCode
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihre Zeichenkette zu einem BarCode wird.