Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Wie man QR-Codes in C# mit IronBarcode generiert

IronBarcode ermöglicht .NET-Entwicklern die effiziente Erstellung von QR-Codes mithilfe der QRCodeWriter-Klasse. Es unterstützt benutzerdefinierte Logos, Farben, mehrere Ausgabeformate und plattformübergreifende Bereitstellung, einschließlich Windows, Linux, macOS und Mobilgeräte.

Diese Anleitung zeigt, wie man mit IronBarcode QR-Codes für Produktionssysteme generiert. Die API von IronBarcode entspricht den .NET-Konventionen und bietet gleichzeitig die für Unternehmensanwendungen erforderliche Leistung und Zuverlässigkeit. Die Bibliothek bietet eine vollständige Dokumentation und unterstützt den Einsatz auf Windows-, Linux-, macOS- und mobilen Plattformen. Einen vollständigen Überblick über alle Funktionen finden Sie auf der Funktionsseite . Die Barcode-Schnellstartanleitung bietet Ihnen sofort praxisnahe Beispiele für einen schnellen Einstieg.

Welche Vorteile bietet die Verwendung von IronBarcode zur QR-Code-Generierung?

Warum IronBarcode anderen Bibliotheken vorziehen?

Wie generiere ich QR-Codes mit IronBarcode?

Die folgenden Abschnitte demonstrieren produktionsreifen Code, der den SOLID-Prinzipien folgt. Sie lernen, verschiedene QR-Code-Typen zu erstellen, benutzerdefinierte Stile zu implementieren und eine zuverlässige Scanleistung sicherzustellen. Zu den Funktionen der Bibliothek gehört die Unterstützung von 1D- und 2D-Barcodes, die über QR-Codes hinausgehen. Für fortgeschrittene Szenarien konsultieren Sie bitte die API-Referenz für vollständige Methodensignaturen. Sehen Sie sich die Demos an, um die Funktionen von IronBarcode in Aktion zu erleben.

Wie richte ich ein neues Projekt ein?

Öffnen Sie Visual Studio und wählen Sie im Menü "Datei" die Option "Neues Projekt" . Bei der Implementierung in Unternehmen empfiehlt es sich, den MSI-Installationsleitfaden für automatisierte Installationen zu konsultieren. Die Übersicht "Erste Schritte" enthält vollständige Einrichtungsanweisungen.

Wählen Sie die Vorlage "Konsolen-App" aus und klicken Sie auf "Weiter".

Geben Sie Ihren gewünschten Projektnamen ein (z. B. QR-Code-Generator ) und legen Sie den Standort fest. Klicken Sie auf Weiter .

Wählen Sie im Dropdown-Menü ein .NET Framework aus ( .NET 6.0 (Langzeitunterstützung) ) und klicken Sie auf Erstellen. IronBarcode unterstützt alle modernen .NET-Versionen, wie in der Kompatibilitätsdokumentation detailliert beschrieben. Spezifische Plattformanforderungen finden Sie im Leitfaden zur Blazor- Integration.

Welche Installationsmethoden stehen zur Verfügung?

Installieren Sie IronBarcode mit einer von vier Methoden, die für unterschiedliche Arbeitsabläufe geeignet sind. Die Live-Demos der Bibliothek demonstrieren die Echtzeit-Barcode-Erkennungsfunktionen. Für einen schnellen Test sehen Sie sich das Barcode-Schnellstartbeispiel an.

Wie installiere ich Software über die Benutzeroberfläche des Paket-Managers von Visual Studio?

Gehen Sie zu Tools > NuGet-Paket-Manager > NuGet-Pakete für die Lösung verwalten...

Oder klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt und wählen Sie "NuGet-Pakete verwalten…".

Klicken Sie auf Durchsuchen , suchen Sie nach Barcode , wählen Sie IronBarcode aus, wählen Sie Ihr Projekt aus und klicken Sie auf Installieren. Informationen zu plattformspezifischen Installationen finden Sie im NuGet-Paketleitfaden . Sollten Probleme auftreten, konsultieren Sie den NuGet-Leitfaden zur Fehlerbehebung . Die Bibliothek unterstützt verschiedene Bereitstellungsszenarien, darunter AWS Lambda und Azure Functions .

Wie installiere ich über die Paket-Manager-Konsole?

Öffnen Sie "Tools" > "NuGet-Paket-Manager" > "Paket-Manager-Konsole" und führen Sie Folgendes aus:

Install-Package BarCode

Dadurch wird die Bibliothek in Ihr aktuelles Projekt installiert. Für containerisierte Bereitstellungen folgen Sie der Docker-Einrichtungsanleitung . Bei der Verwendung von Lizenzschlüsseln ist auf die korrekte Konfiguration für Ihre Bereitstellungsumgebung zu achten.

Wie lade ich von NuGet oder der IronBarcode-Website herunter?

Laden Sie die neueste .NET Barcode-DLL von der NuGet Gallery-Website herunter oder besuchen Sie die Homepage von IronBarcode. Fügen Sie die DLL über Hinzufügen > Verweis im Projektmappen-Explorer zu Ihrem Projekt hinzu. Informationen zur Fehlerbehebung bei DLL-Problemen finden Sie im Leitfaden für fehlende DLLs . Bei Problemen mit der Laufzeit konsultieren Sie bitte den Leitfaden zu Laufzeitkopierfehlern .

Wie erstelle und individualisiere ich QR-Code-Bilder?

Wie generiere ich einen einfachen QR-Code?

Erstellen Sie QR-Codes mithilfe der Methode CreateQrCode aus der Klasse QRCodeWriter . Ein vollständiges Beispiel finden Sie im Tutorial zum C#-QR-Code-Generator . Die Bibliothek unterstützt die Erstellung von Barcode-Bildern in verschiedenen Formaten:

using IronBarCode;

// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");

// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");

// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
    if (string.IsNullOrWhiteSpace(data))
        throw new ArgumentException("Data cannot be empty");

    if (data.Length > 2953) // QR Code capacity at highest error correction
        throw new ArgumentException("Data exceeds QR code capacity");

    var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.VerifyQrCode(); // Verify the generated code is valid
    return qr;
}
using IronBarCode;

// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");

// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");

// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
    if (string.IsNullOrWhiteSpace(data))
        throw new ArgumentException("Data cannot be empty");

    if (data.Length > 2953) // QR Code capacity at highest error correction
        throw new ArgumentException("Data exceeds QR code capacity");

    var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.VerifyQrCode(); // Verify the generated code is valid
    return qr;
}
$vbLabelText   $csharpLabel

Die Methode CreateQrCode akzeptiert:

  • Erforderlich: Zu kodierende Daten (Zeichenkette oder Datenstrom)
  • Optional: Grafikabmessungen (Standard 500x500px)
  • Optional: Fehlerkorrekturniveau (Niedrig 7 %, Mittel 15 %, Hoch 25 %, Höchst 30 %)
  • Optional: QR-Versionsnummer (0 für automatisch)

Für eine leistungsstarke Stapelverarbeitung sollten Sie asynchrone Operationen und benutzerdefinierte Formatierungen verwenden. Bei Arbeiten unter nicht optimalen Bedingungen sollten die Fehlertoleranzfunktionen genutzt werden. Das Tutorial zum Lesen von Barcodes zeigt, wie man generierte Codes überprüft.

Welche Datentypen kann ich in QR-Codes kodieren?

Gängige QR-Code-Datentypen für Produktionsanwendungen umfassen die Erstellung von Barcodes aus verschiedenen Quellen . Ausführliche Beispiele finden Sie im Beispiel zum Erstellen eines QR-Codes . IronBarcode unterstützt Unicode-Barcodes für die internationale Zeichenkodierung:

URL-QR-Codes:

// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");

// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
    var uriBuilder = new UriBuilder(baseUrl);
    var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);

    foreach (var param in utmParams)
        query[param.Key] = param.Value;

    uriBuilder.Query = query.ToString();
    var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
    return qr;
}
// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");

// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
    var uriBuilder = new UriBuilder(baseUrl);
    var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);

    foreach (var param in utmParams)
        query[param.Key] = param.Value;

    uriBuilder.Query = query.ToString();
    var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
    return qr;
}
$vbLabelText   $csharpLabel

vCard-Kontaktinformationen:

string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";

var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");
string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";

var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");
$vbLabelText   $csharpLabel

WiFi Konfiguration:

string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");
string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");
$vbLabelText   $csharpLabel

IronBarcode bietet Unicode-Unterstützung für internationale Zeichen und unterstützt Formate wie Micro QR und rMQR für platzbeschränkte Anwendungen. Für spezielle Formate erkunden Sie den Meilenstein "Neue Formate" . Bei der Arbeit mit speziellen Datenformaten kann die Bibliothek Datenströme lesen und als Datenströme exportieren, um eine effiziente Speichernutzung zu gewährleisten.

Wie füge ich Logos und benutzerdefinierte Stile hinzu?

Verwenden Sie CreateQrCodeWithLogo , um Firmenlogos zu QR-Codes hinzuzufügen. Die vollständigen Gestaltungsmöglichkeiten finden Sie im Beispiel für benutzerdefinierte QR-Codes und im Leitfaden zur QR-Code-Gestaltung . Die Bibliothek unterstützt außerdem allgemeine Barcode-Formatierungen für alle Barcode-Typen:

// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");

// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
    Width = 100,
    Height = 100,
    CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);

// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
    var logo = new QRCodeLogo(logoPath)
    {
        Width = 80,
        Height = 80,
        CornerRadius = 10
    };

    var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
    qr.SetMargins(15);
    return qr;
}
// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");

// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
    Width = 100,
    Height = 100,
    CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);

// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
    var logo = new QRCodeLogo(logoPath)
    {
        Width = 80,
        Height = 80,
        CornerRadius = 10
    };

    var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
    qr.SetMargins(15);
    return qr;
}
$vbLabelText   $csharpLabel

Zusätzliche Gestaltungsmöglichkeiten bieten die Barcode-Anpassungsfunktionen . Die Funktion zur Gestaltung von Barcodes bietet umfassende Anpassungsmöglichkeiten:

// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");
// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");
$vbLabelText   $csharpLabel

Welche Exportformate stehen zur Verfügung?

Speichern Sie QR-Codes in verschiedenen Formaten für unterschiedliche Anwendungsfälle. Mehr dazu erfahren Sie im Beispiel zum Speichern von Barcodes und im Tutorial zur Barcode-Bildgenerierung . Spezielle Anforderungen finden Sie im Leitfaden zur Erstellung von 1-BPP-Barcodebildern :

// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");

// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();

// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);

// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();

// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
    qr.ChangeBarcodeDpi(600); // Hoch DPI for print
    qr.ResizeTo(2000, 2000); // Large size
    qr.SaveAsTiff(filename); // Lossless format
}
// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");

// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();

// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);

// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();

// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
    qr.ChangeBarcodeDpi(600); // Hoch DPI for print
    qr.ResizeTo(2000, 2000); // Large size
    qr.SaveAsTiff(filename); // Lossless format
}
$vbLabelText   $csharpLabel

Für PDF-spezifische Vorgänge konsultieren Sie die Anleitungen zum Erstellen von Barcodes als PDF und zum Aufbringen von Barcodes auf bestehende PDFs . Für optimale Ergebnisse beim Auslesen von Barcodes aus PDFs verwenden Sie die Einstellungen des PDF-Barcode-Lesegeräts .

Wie implementiere ich QR-Codes in Webanwendungen?

Implementieren Sie für ASP.NET MVC-Anwendungen Streaming ohne Datei-E/A . Die Bibliothek unterstützt die Erstellung von Barcodes als HTML zur direkten Webintegration:

public IActionResult GetQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    byte[] qrBytes = qr.ToPngBinaryData();
    return File(qrBytes, "image/png", "qrcode.png");
}

// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
    var qr = QRCodeWriter.CreateQrCode(content, 500);
    var stream = qr.ToStream();
    return File(stream, "image/png");
}

// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    var htmlString = qr.ToHtmlTag();
    return Content(htmlString, "text/html");
}
public IActionResult GetQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    byte[] qrBytes = qr.ToPngBinaryData();
    return File(qrBytes, "image/png", "qrcode.png");
}

// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
    var qr = QRCodeWriter.CreateQrCode(content, 500);
    var stream = qr.ToStream();
    return File(stream, "image/png");
}

// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 400);
    var htmlString = qr.ToHtmlTag();
    return Content(htmlString, "text/html");
}
$vbLabelText   $csharpLabel

Implementieren Sie für Blazor-Anwendungen die reaktive QR-Code-Generierung:

@page "/qrcode"
@using IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
    <img src="@QrCodeDataUrl" alt="QR Code" />
}

@code {
    private string qrText = "";
    private string QrCodeDataUrl = "";

    private void GenerateQr()
    {
        if (!string.IsNullOrEmpty(qrText))
        {
            var qr = QRCodeWriter.CreateQrCode(qrText, 400);
            QrCodeDataUrl = qr.ToDataUrl();
        }
    }
}
@page "/qrcode"
@using IronBarCode

<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>

@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
    <img src="@QrCodeDataUrl" alt="QR Code" />
}

@code {
    private string qrText = "";
    private string QrCodeDataUrl = "";

    private void GenerateQr()
    {
        if (!string.IsNullOrEmpty(qrText))
        {
            var qr = QRCodeWriter.CreateQrCode(qrText, 400);
            QrCodeDataUrl = qr.ToDataUrl();
        }
    }
}
$vbLabelText   $csharpLabel

Informationen zum Exportieren von Barcodes als HTML finden Sie im Leitfaden "Barcode als HTML erstellen" . Hinweise zur Anwendung von Lizenzen in Webanwendungen finden Sie im Leitfaden zu den Lizenzschlüsseln in der web.config-Datei .

Was sind die besten Vorgehensweisen für die Implementierung von QR-Codes?

Welche Fehlerkorrekturstufe sollte ich wählen?

Fehlerkorrektur beeinträchtigt Resilienz und Leistungsfähigkeit. Detaillierte Informationen finden Sie im Leitfaden zur Fehlerkorrektur . Die Bibliothek enthält Konfidenzschwellenwerte für maschinelles Lernen zur Verbesserung der Genauigkeit:

Ebene Erholung Anwendungsfall
Niedrig 7% Saubere digitale Umgebungen
Medium 15% Druckmaterialien, Visitenkarten
Hoch 25 % Außenbeschilderung, handhabbare Gegenstände
Höchste 30 % Industrielle Nutzung, Logos hinzugefügt

Welche Größe sollten meine QR-Codes haben?

Optimale Größe basierend auf der Scandistanz berechnen. Erfahren Sie mehr über das Einstellen von Rändern für ein besseres Scannen. Das Beispiel zur Randeinstellung veranschaulicht bewährte Vorgehensweisen:

// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
    int sizeInCm = (int)(scanDistanceMeters * 10);
    return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}

// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
    int size = CalculateQrSize(scanDistance);
    var qr = QRCodeWriter.CreateQrCode(data, size);
    qr.SetMargins(size / 20); // 5% margin
    return qr;
}
// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
    int sizeInCm = (int)(scanDistanceMeters * 10);
    return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}

// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
    int size = CalculateQrSize(scanDistance);
    var qr = QRCodeWriter.CreateQrCode(data, size);
    qr.SetMargins(size / 20); // 5% margin
    return qr;
}
$vbLabelText   $csharpLabel

Wie stelle ich die Kompatibilität mit Mobilgeräten sicher?

Verbesserung der mobilen Scanfunktion durch Verwendung der Barcode-Lesegeräteeinstellungen . Bei Erkennungsproblemen konsultieren Sie bitte den Leitfaden zur Fehlerbehebung bei nicht erkannten Barcodes :

public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
    qr.SetMargins(20); // Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black);
    qr.ChangeBackgroundColor(System.Drawing.Color.White);
    return qr;
}
public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
    var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
    qr.SetMargins(20); // Adequate quiet zone
    qr.ChangeBarCodeColor(System.Drawing.Color.Black);
    qr.ChangeBackgroundColor(System.Drawing.Color.White);
    return qr;
}
$vbLabelText   $csharpLabel

Für plattformübergreifende mobile Entwicklung sollten Sie das .NET MAUI Barcode-Scanner-Tutorial erkunden. Die Bibliothek unterstützt nativ sowohl iOS- als auch Android- Plattformen.## Häufige Integrationsszenarien

Erstellung von QR-Codes für Marketingkampagnen

Informationen zur Implementierung von nachverfolgbaren Marketing-QR-Codes mit individuellem Branding finden Sie im Leitfaden zur Lesegeschwindigkeit von Barcodes:

public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
    string trackingUrl = "___PROTECTED_URL_79___";
    var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
    qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
    return qr;
}

// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
    var tasks = userIds.Select(async userId =>
    {
        var qr = CreateCampaignQr(campaignId, userId);
        await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
    });

    await Task.WhenAll(tasks);
}
public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
    string trackingUrl = "___PROTECTED_URL_79___";
    var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
    qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
    qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
    return qr;
}

// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
    var tasks = userIds.Select(async userId =>
    {
        var qr = CreateCampaignQr(campaignId, userId);
        await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
    });

    await Task.WhenAll(tasks);
}
$vbLabelText   $csharpLabel

Produktetiketten-QR-Codes generieren

Erstellen Sie QR-Codes für die Bestandsverwaltung. Informationen zum Umgang mit Sonderformaten finden Sie im GS1-128-Leitfaden zur Fehlerbehebung . Bei der Arbeit mit bestimmten Barcode-Typen wie Code 39 oder MSI-Barcodes sollten Sie die formatspezifischen Leitfäden konsultieren:

public void GenerateProductLabel(Product product)
{
    var productData = new
    {
        sku = product.SKU,
        batch = product.BatchNumber,
        expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    };

    string json = System.Text.Json.JsonSerializer.Serialize(productData);
    var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.AddAnnotationTextAboveBarcode(product.Name);
    qr.SaveAsPng($"labels/product-{product.SKU}.png");
}

// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
    var qr = CreateProductQr(product);
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}
public void GenerateProductLabel(Product product)
{
    var productData = new
    {
        sku = product.SKU,
        batch = product.BatchNumber,
        expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
    };

    string json = System.Text.Json.JsonSerializer.Serialize(productData);
    var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
    qr.AddAnnotationTextAboveBarcode(product.Name);
    qr.SaveAsPng($"labels/product-{product.SKU}.png");
}

// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
    var qr = CreateProductQr(product);
    qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}
$vbLabelText   $csharpLabel

Für spezielle Etikettendruckverfahren konsultieren Sie bitte den 1-BPP-Barcode-Bildleitfaden . Hinweise zum Lesen mehrseitiger Dokumente finden Sie im Leitfaden für mehrseitige GIF- und TIFF- Dateien.

Verbesserung der Barcode-Scanleistung

Bei Anwendungen mit hohem Scanaufkommen empfiehlt es sich, Beschneidungsbereiche zu implementieren, um die Scanbereiche zu begrenzen und die Leistung zu verbessern. Die Optionen zur Lesegeschwindigkeit ermöglichen eine präzise Steuerung des Kompromisses zwischen Genauigkeit und Geschwindigkeit:

// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    CropArea = cropRegion
};

var results = BarcodeReader.Read("image.png", options);
// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode,
    CropArea = cropRegion
};

var results = BarcodeReader.Read("image.png", options);
$vbLabelText   $csharpLabel

Bei der Arbeit mit System.Drawing-Objekten bietet die Bibliothek plattformübergreifende Kompatibilität durch IronDrawing .

Wichtigste Erkenntnisse

IronBarcode bietet eine Komplettlösung für die QR-Code-Generierung in .NET-Anwendungen. Die Bibliothek bietet intuitive APIs, eine umfangreiche Dokumentation und produktionsreife Funktionen wie Fehlertoleranz , plattformübergreifende Unterstützung und Leistungsoptimierung . Bleiben Sie über das Änderungsprotokoll über die neuesten Funktionen auf dem Laufenden. Bei sicherheitsbewussten Implementierungen sollten die Sicherheits-CVE-Offenlegungen überprüft werden.

Lizenzinformationen finden Sie auf der Lizenzseite . IronBarcode bietet eine kostenlose Entwicklerlizenz mit Premium-Optionen inklusive Support und Updates. Für Bestandskunden: Lizenzerweiterungen und Upgrade-Optionen prüfen. Wenn Sie Hilfe bei der Lizenzierung benötigen, lesen Sie bitte den Leitfaden zur Lizenzschlüsselanwendung und die Anleitung zur Lizenzierungseinrichtung in der web.config-Datei .

Für Produktionsumgebungen sollten Sie die Leitfäden für AWS Lambda , Azure Functions und Docker-Container konsultieren. Informationen zur Fehlerbehebung bei spezifischen Bereitstellungsproblemen finden Sie im AWS Lambda-Laufzeithandbuch und in den Lösungen für Laufzeitkopierausnahmen . Bei falsch-positiven Ergebnissen konsultieren Sie bitte die detaillierte Anleitung zur Fehlerbehebung.

Für technischen Support stellen Sie bitte eine Engineering-Anfrage . Die Bibliothek wird regelmäßig aktualisiert, wie im Abschnitt "Produktaktualisierungen" beschrieben, um die fortlaufende Kompatibilität und neue Funktionen zu gewährleisten.

Erste Schritte mit einem kurzen QR-Code-Beispiel

Generieren Sie einen QR-Code mit individuellem Design in nur wenigen Codezeilen. Weitere Beispiele finden Sie unter dem Beispiel "Barcode erstellen" und im Tutorial "Barcodes lesen" , wo Sie vollständige Barcode-Lösungen finden. Weitere Beispiele sind das Auslesen von Barcodes aus PDFs und das Erstellen von Barcodes aus Daten :

using IronBarCode;

// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();

// Save as image
qrCode.SaveAsPng("quickstart-qr.png");

// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();
using IronBarCode;

// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);

// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();

// Save as image
qrCode.SaveAsPng("quickstart-qr.png");

// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();
$vbLabelText   $csharpLabel

IronBarcode unterstützt die Bereitstellung auf AWS Lambda , Azure , Docker und mobilen Plattformen über .NET MAUI . Für technischen Support stellen Sie bitte eine Engineering-Anfrage . Prüfen Sie die Sicherheitslücken (CVE-Offenlegungen) im Hinblick auf die Sicherheitsanforderungen Ihres Unternehmens.

Erkunden Sie die Funktionen zum Lesen von Barcodes , um die volle Leistungsfähigkeit der Barcode-Erkennung zu verstehen, einschließlich der Unterstützung für das Lesen von Code-39-Barcodes und anderen Spezialformaten. Der vollständige Funktionsumfang der Bibliothek macht sie geeignet für Unternehmensanwendungen, die zuverlässige Barcode-Generierungs- und Scanfunktionen erfordern.

Häufig gestellte Fragen

Wie erstelle ich einen QR-Code in einer .NET-Anwendung?

Sie können einen QR-Code in einer .NET-Anwendung mit der QRCodeWriter.CreateQrCode-Methode in IronBarcode erstellen. Diese Methode ermöglicht es Ihnen, die QR-Code-Daten, die Größe und das Fehlerkorrekturlevel anzugeben.

Welche Anpassungsoptionen gibt es für QR-Codes?

IronBarcode ermöglicht die Anpassung von QR-Codes, einschließlich Farbänderungen und das Einbetten von Bildern wie Firmenlogos. Diese Funktionen erhöhen die visuelle Attraktivität und Markenintegration der QR-Codes.

Wie kann ich die IronBarcode-Bibliothek in meinem Projekt installieren?

Sie können IronBarcode in Ihrem Projekt über Visual Studios NuGet-Paket-Manager-UI, Paket-Manager-Konsole oder durch Herunterladen von der NuGet-Website installieren.

Kann IronBarcode verwendet werden, um Barcodes aus Video-Frames zu lesen?

Ja, IronBarcode kann Videoframes verarbeiten, sodass es Barcodes in Echtzeit lesen kann, indem es Drehungen und Rauschen korrigiert und dadurch die Leseeffizienz der Barcodes erhöht.

Welche Dateiformate können verwendet werden, um mit IronBarcode generierte QR-Codes zu speichern?

Mit IronBarcode generierte QR-Codes können in mehreren Formaten gespeichert werden, einschließlich PNG und HTML, was Flexibilität für unterschiedliche Anwendungsbedürfnisse bietet.

Ist IronBarcode für Konsolen- und Webanwendungen geeignet?

Ja, IronBarcode ist vielseitig und kann sowohl in Konsolen- als auch in .NET MVC-Webanwendungen verwendet werden, was es zu einer robusten Wahl für verschiedene Entwicklungsumgebungen macht.

Welche Fehlerkorrekturlevel sind für QR-Codes in IronBarcode verfügbar?

IronBarcode unterstützt vier Fehlerkorrekturebenen für QR-Codes: Low, Medium, High und Highest, um die Datenintegrität zu gewährleisten, selbst wenn der QR-Code beschädigt wird.

Welche Lizenzierungsoptionen gibt es für IronBarcode?

IronBarcode bietet eine kostenlose Entwicklerlizenz und eine Premium-Version mit zusätzlichem Support und Updates, um verschiedene Entwicklungs- und Geschäftsbedürfnisse zu erfüllen.

Ist IronBarcode mit .NET Core und .NET Framework kompatibel?

Ja, IronBarcode ist sowohl mit .NET Core als auch mit .NET Framework kompatibel und unterstützt verschiedene Architekturen, einschließlich 32- und 64-Bit-Systeme.

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