IRONSOFTWAREHOME
VIDEOS

Migrieren von BarCodezu IronBarcode

Curtis Chau
Curtis Chau
Updated: 8. Juni 2026

Dieser Leitfaden beschreibt den kompletten Migrationspfad von BarCodezu IronBarcode for .NET Entwickler. Die Migration konsolidiert zwei Pakete zu einem, ersetzt die Encoder-Renderer-Pipeline durch einen einzigen Methodenaufruf und vereint alle format-spezifischen Namespace-Importe — using Barcoder.Code128, using Barcoder.Qr, using Barcoder.DataMatrix — in einem einzigen using IronBarCode;. Der IBarcode-Typ und die ImageRenderer / ImageRendererOptions-Typen werden vollständig entfernt. Wenn das Lesen eine fehlende Fähigkeit war, die Sie dazu veranlasst hat, neben BarCodeeine zweite Bibliothek hinzuzufügen, deckt IronBarcode das Lesen nativ mit BarcodeReader.Read() ab.

Warum von BarCodemigrieren?

Teams, die von BarCodemigrieren, melden folgende Auslöser:

Leseanforderung hinzugefügt: BarCodeist eine reine Generierungsbibliothek ohne Dekodierungsfunktion. Wenn eine Anwendung eingehende Barcodes überprüfen, gescannte Dokumente verarbeiten oder Barcodes aus hochgeladenen PDFs lesen muss, bietet BarCodekeine Lösung. Das Hinzufügen einer zweiten Bibliothek zum Lesen führt zu einer geteilten Codebasis mit zwei NuGet Abhängigkeiten, zwei zu pflegenden APIs und zwei zu verfolgenden Versionsverläufen. IronBarcode übernimmt sowohl die Generierung als auch das Lesen über dasselbe Paket.

.NET Framework-Kompatibilität gebrochen: Barcoder.Renderer.Image hat die Unterstützung für .NET Framework eingestellt. Teams, die Dienste oder Desktop-Anwendungen auf .NET Framework 4.x ausführen und das Image-Renderer-Paket im Rahmen der routinemäßigen Abhängigkeitswartung aktualisieren, stoßen auf einen Build-Fehler. IronBarcode unterstützt .NET Framework 4.6.2 bis .NET 9 ohne bedingte Paketierung für verschiedene Zielplattformen.

Package Version Drift: Barcoder und Barcoder.Renderer.Image sind unabhängig versionierte NuGet-Pakete. Wenn bei einer Aktualisierung der Abhängigkeiten nur eine der beiden Komponenten aktualisiert wird, kann dies zu Inkompatibilitäten führen. In Repositories mit mehreren Projekten stellt die Sicherstellung konsistenter Versionen jedes Renderers in allen Projekten eine Koordinierungsbelastung dar, die mit der Teamgröße zunimmt.

Hinzufügen mehrerer Formate: Ein Projekt, das mit Code128 beginnt und später QR und dann DataMatrix hinzufügt, muss einen neuen Namespace importieren und für jedes Format eine andere Encoder-Klasse mit unterschiedlichen Methodenparametern lernen. IronBarcode verwendet ein BarcodeEncoding-Enum — das Hinzufügen eines Formats ist eine Änderung von einem Wort in einem bestehenden Aufruf. Kein neuer Namensraum, keine neue Klasse, keine andere Methodensignatur.

Anforderungen an die MAUI- und Cloud-Bereitstellung: BarCodedokumentiert keine Unterstützung für MAUI-, Docker-, AWS Lambda- oder Azure-Bereitstellungen. Teams, die plattformübergreifende mobile Anwendungen oder serverlose Barcode-Verarbeitungspipelines entwickeln, stellen fest, dass die dokumentierten Ziele von BarCodediese Szenarien nicht abdecken.

Das grundsätzliche Problem

Barcoder verknüpft die Formatauswahl mit Namespace-Importen und erzwingt eine Renderer-Pipeline für jede Ausgabeoperation. Das Umschalten von Formaten oder Ausgabetypen erfordert strukturelle Änderungen am Code:

// Barcoder: 3 namespaces, encoder-specific class, renderer pipeline, stream management
using Barcoder;
using Barcoder.Code128;
using Barcoder.Renderers;

IBarcode barcode = Code128Encoder.Encode("PRODUCT-12345", false);

var renderer = new ImageRenderer(new ImageRendererOptions
{
    ImageFormat = ImageFormat.Png,
    PixelSize = 2,
    BarHeightFor1DBarcode = 50
});

using var stream = File.OpenWrite("barcode.png");
renderer.Render(barcode, stream);

IronBarcode drückt dieselbe Operation als einen einzigen verketteten Aufruf aus:

// IronBarcode: 1 namespace, 1 method, 1 output call
using IronBarCode;

BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128)
    .SaveAsPng("barcode.png");

IronBarcode vs. Barcoder: Funktionsvergleich

FeatureBarCodeIronBarcode
Erforderliche NuGet PaketeMindestens 2 (Barcoder + Barcoder.Renderer.Image)1 (IronBarcode)
Barcode-GenerierungJaJa
Barcode-Lesen / DekodierenNeinJa
Pro-Format-EncoderklassenJa — Code128Encoder, QrEncoder, DataMatrixEncoder, etc.Nein — BarcodeEncoding-Enum
Importe von Namespaces pro FormatJa — Barcoder.Code128, Barcoder.Qr, Barcoder.DataMatrixNein — nur using IronBarCode
Ausgabemethoden für das ErgebnisobjektNein — IBarcode hat keine SpeicherfunktionenJa — GeneratedBarcode hat SaveAsPng, ToPngBinaryData, ToStream
PDF lesenNeinJa — BarcodeReader.Read(path)
QR-Code mit LogoNeinJa — .AddBrandLogo(path)
.NET Framework -UnterstützungBildrenderer hinzugefügt.NET Framework 4.6.2+
.NET 9-UnterstützungUnklare / eingeschränkte AktivitätJa
MAUI-UnterstützungNeinJa – iOS, Android, Windows, macOS
Docker / Azure / AWS LambdaNicht dokumentiertJa
LizenzMIT (Open Source)Kommerziell — Lite $999, Plus 1.499 USD, Professional 2.999 USD, Unlimited 5.999 USD
LesegeschwindigkeitssteuerungNeinJa — ReadingSpeed-Enum
Mehrfach-Barcode-ErkennungNeinJa — ExpectMultipleBarcodes-Option

Schnellstart: Migration von BarCodezu IronBarcode

Schritt 1: Ersetzen des NuGet-Pakets

Entfernen Sie alle Barcoder-Pakete aus Ihrem Projekt:

dotnet remove package Barcoder
dotnet remove package Barcoder.Renderer.Image
SHELL

Wenn Sie auch den SVG-Renderer hinzugefügt haben:

dotnet remove package Barcoder.Renderer.Svg
SHELL

IronBarcode installieren:

dotnet add package IronBarcode
SHELL

Schritt 2: Namespaces aktualisieren

Entfernen Sie alle using Barcoder.*-Anweisungen aus jeder Datei im Projekt:

// Remove all of these
using Barcoder;
using Barcoder.Code128;
using Barcoder.Qr;
using Barcoder.DataMatrix;
using Barcoder.Renderers;
using Barcoder.Ean;
using Barcoder.Pdf417;
// ... and any other Barcoder.* namespaces in your project

Ersetzen Sie alle durch eine einzige using-Anweisung:

using IronBarCode;

Schritt 3: Lizenz initialisieren

Fügen Sie die Lizenzinitialisierung beim Anwendungsstart hinzu — Program.cs, Startup.cs oder MauiProgram.cs:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Ein kostenloser Testschlüssel ist auf ironsoftware.com erhältlich.

Beispiele für die Code-Migration

Code-128-Generierung

Barcoder-Ansatz:

using Barcoder;
using Barcoder.Code128;
using Barcoder.Renderers;

IBarcode barcode = Code128Encoder.Encode("PRODUCT-12345", false);

var renderer = new ImageRenderer(new ImageRendererOptions
{
    ImageFormat = ImageFormat.Png,
    PixelSize = 2,
    BarHeightFor1DBarcode = 50
});

using var stream = File.OpenWrite("barcode.png");
renderer.Render(barcode, stream);

IronBarcode -Ansatz:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128)
    .SaveAsPng("barcode.png");

Der Code128Encoder, ImageRenderer, ImageRendererOptions und Stream-Verwaltung werden vollständig entfernt. Das Format wird als BarcodeEncoding.Code128 auf der einheitlichen BarcodeWriter-Klasse angegeben. Ausgabemethoden leben direkt auf dem zurückgegebenen GeneratedBarcode-Objekt. Die IronBarcode Dokumentation zur Barcode-Generierung umfasst die Anpassung von Stil, Rändern und Farben.

QR-Code-Generierung

Barcoder-Ansatz:

using Barcoder;
using Barcoder.Qr;
using Barcoder.Renderers;

IBarcode barcode = QrEncoder.Encode("https://example.com", ErrorCorrectionLevel.M);

var renderer = new ImageRenderer(new ImageRendererOptions
{
    ImageFormat = ImageFormat.Png,
    PixelSize = 4
});

using var stream = File.OpenWrite("qr.png");
renderer.Render(barcode, stream);

IronBarcode -Ansatz:

using IronBarCode;

QRCodeWriter.CreateQrCode("https://example.com", 500)
    .SaveAsPng("qr.png");

Der zweite Parameter für CreateQrCode ist die Ausgabedimension in Pixel. Der Fehlerkorrekturgrad ist standardmäßig auf einen sinnvollen Wert eingestellt und kann bei Bedarf konfiguriert werden. IronBarcode unterstützt außerdem eine Funktion, die mit BarCodenicht möglich ist – das Einbetten eines Markenlogos in die Mitte des QR-Codes:

using IronBarCode;

QRCodeWriter.CreateQrCode("https://example.com", 500)
    .AddBrandLogo("logo.png")
    .SaveAsPng("qr-branded.png");

Datenmatrixgenerierung

Barcoder-Ansatz:

using Barcoder;
using Barcoder.DataMatrix;
using Barcoder.Renderers;

IBarcode barcode = DataMatrixEncoder.Encode("ITEM-XYZ-001");

var renderer = new ImageRenderer(new ImageRendererOptions
{
    ImageFormat = ImageFormat.Png,
    PixelSize = 5
});

using var stream = File.OpenWrite("datamatrix.png");
renderer.Render(barcode, stream);

IronBarcode -Ansatz:

using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-XYZ-001", BarcodeEncoding.DataMatrix)
    .SaveAsPng("datamatrix.png");

Das Muster ist identisch mit Code128 — nur der BarcodeEncoding-Wert ändert sich. Kein neuer Namespace-Import, keine andere Klasse, keine andere Methodensignatur.

Steuerung der Ausgabegröße

Barcoder verwendet PixelSize als Skalierungsfaktor für die Modulgröße des Barcodes und BarHeightFor1DBarcode für die 1D-Höhe — es gibt keine direkte Breite/Höhe-API.

Barcoder-Ansatz:

var renderer = new ImageRenderer(new ImageRendererOptions
{
    ImageFormat = ImageFormat.Png,
    PixelSize = 3,
    BarHeightFor1DBarcode = 80
});
using var stream = File.OpenWrite("barcode.png");
renderer.Render(barcode, stream);

IronBarcode -Ansatz:

using IronBarCode;

BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128)
    .ResizeTo(400, 100)
    .SaveAsPng("barcode.png");

.ResizeTo(width, height) erfordert explizite Pixeldimensionen. Es kettet sich mit anderen Ausgabemethoden am selben GeneratedBarcode-Objekt.

Empfangen von Binärdaten anstelle einer Datei

Barcoder-Ansatz:

using Barcoder;
using Barcoder.Code128;
using Barcoder.Renderers;

IBarcode barcode = Code128Encoder.Encode("PRODUCT-12345", false);

var renderer = new ImageRenderer(new ImageRendererOptions
{
    ImageFormat = ImageFormat.Png,
    PixelSize = 2
});

using var ms = new MemoryStream();
renderer.Render(barcode, ms);
byte[] pngBytes = ms.ToArray();

IronBarcode -Ansatz:

using IronBarCode;

byte[] pngBytes = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128)
    .ToPngBinaryData();

Das MemoryStream und ToArray()-Muster wird durch einen einzigen verketteten Methodenaufruf auf GeneratedBarcode ersetzt.

Barcodes lesen (Neue Funktion)

Barcoder besitzt keine Lese-API. Falls Sie zuvor eine zweite Bibliothek zum Lesen hinzugefügt haben, kann diese entfernt werden. IronBarcode liest aus Dateien, Byte-Arrays, Datenströmen und PDFs mit demselben Paket, das auch für die Generierung verwendet wird.

IronBarcode -Ansatz:

using IronBarCode;

// Read from image file
var results = BarcodeReader.Read("barcode.png");
foreach (var result in results)
{
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Format: {result.Format}");
}

// Read from PDF natively — no image extraction step, no extra dependency
var pdfResults = BarcodeReader.Read("invoice.pdf");

// Read multiple barcodes from one image
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true
};
var multiResults = BarcodeReader.Read("warehouse-sheet.png", options);
foreach (var result in multiResults)
    Console.WriteLine(result.Value);

// Read from a stream directly
using var fileStream = File.OpenRead("barcode.png");
var streamResults = BarcodeReader.Read(fileStream);

Die IronBarcode Dokumentation zum Barcode-Lesen umfasst mehrseitige PDFs, das Lesen von Bereichen von Interesse sowie Optionen zur Leistungsoptimierung.

SVG-Ausgabe

Barcoder-Ansatz:

using Barcoder.Renderers;
var svgRenderer = new SvgRenderer();
using var stream = File.OpenWrite("barcode.svg");
svgRenderer.Render(barcode, stream);

IronBarcode -Ansatz:

using IronBarCode;

BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Code128)
    .SaveAsSvg("barcode.svg");

Das Barcoder.Renderer.Svg-Paket kann entfernt werden, sobald alle SVG-Handel zurückgestellt worden sind.

Barcoder-API-zu- IronBarcode -Mapping-Referenz

BarCodeIronBarcode
Code128Encoder.Encode("data", false)BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Code128)
QrEncoder.Encode("data", ErrorCorrectionLevel.M)QRCodeWriter.CreateQrCode("data", 500)
DataMatrixEncoder.Encode("data")BarcodeWriter.CreateBarcode("data", BarcodeEncoding.DataMatrix)
new ImageRenderer(new ImageRendererOptions { ... })Nicht erforderlich
renderer.Render(barcode, fileStream).SaveAsPng(path)
renderer.Render(barcode, memoryStream) + ms.ToArray().ToPngBinaryData()
IBarcodeGeneratedBarcode
PixelSize = 2, BarHeightFor1DBarcode = 50.ResizeTo(width, height)
SvgRenderer + renderer.Render(barcode, stream).SaveAsSvg(path)
Keine Lese-APIBarcodeReader.Read(path / stream / bytes / pdf)
2 Pakete — Barcoder + Barcoder.Renderer.Image1 Paket — IronBarcode
Format-Namespace pro Encoder (Barcoder.Code128, Barcoder.Qr, usw.)BarcodeEncoding-Enum, einzelner Namespace

Gängige Migrationsprobleme und Lösungen

Problem 1: IBarcode verfügt über keine Speichermethoden

Barcoder: Code, der eine IBarcode-Variable speichert und später an einen Renderer weitergibt, folgt einem Deferred-Rendering-Muster. Jede Hilfsmethode, die IBarcode akzeptiert und renderer.Render() aufruft, muss umgestaltet werden.

Lösung: Ändern Sie IBarcode-Typreferenzen in GeneratedBarcode. Das GeneratedBarcode-Objekt trägt seine Ausgabemethoden mit sich — übergeben Sie es an jede Methode, die das Ergebnis speichern oder serialisieren muss:

// IronBarcode — GeneratedBarcode carries output methods
using IronBarCode;

var barcode = BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Code128);
SaveBarcodeToFile(barcode, "output.png");

static void SaveBarcodeToFile(GeneratedBarcode barcode, string path)
{
    barcode.SaveAsPng(path);
}

Eine Suche nach renderer.Render( in der gesamten Lösung findet alle Stellen des verzögerten Renderings.

Problem 2: PixelSize hat kein direktes Äquivalent.

Barcoder: PixelSize ist ein Skalierungsfaktor für die natürliche Modulgröße des Barcodes. Die Ausgabedimensionen hängen von der Inhaltslänge, dem Format und dem Multiplikator in Kombination ab. BarHeightFor1DBarcode steuert die 1D-Höhe unabhängig. Es gibt keine direkte Angabe zu Breite/Höhe.

Lösung: Messen Sie die tatsächliche Pixel-Ausgabe, die der bestehende Barcoder-Code produziert und geben Sie diese Werte an .ResizeTo(width, height) weiter:

BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Code128)
    .ResizeTo(300, 80)
    .SaveAsPng("barcode.png");

Problem 3: Format Namespace Imports häufen sich

Barcoder: Jedes in einem Projekt verwendete Barcode-Format fügt eine using Barcoder.[Format]-Direktive in jede Datei ein, die es verwendet. Ein Projekt, das Code128, QR und DataMatrix verwendet, hat typischerweise drei formatspezifische Importe pro Datei plus using Barcoder und using Barcoder.Renderers.

Lösung: Führen Sie eine Suche nach allen using Barcoder-Anweisungen aus und ersetzen Sie alle durch using IronBarCode;:

grep -rn "using Barcoder" --include="*.cs" .
SHELL

Jedes Ergebnis ist eine Zeile zum Entfernen, ersetzt durch die einzelne using IronBarCode;-Direktive einmal pro Datei.

Problem 4: Fehler bei der Paketversionssynchronisierung

Barcoder: Das Builden nach dem Aktualisieren nur eines von Barcoder oder Barcoder.Renderer.Image kann zu Typ-Auflösungsfehlern führen, da die zwei Pakete möglicherweise bei verschiedenen Versionskombinationen nicht kompatibel sind.

Lösung: Nach Entfernung beider Barcoder-Pakete und Installation von IronBarcode gibt es ein Paket und eine Version. Paketsperrkonflikte in dieser Kategorie werden beseitigt. Überprüfen Sie, dass die .csproj-Datei nur die einzelne IronBarcode-Referenz und keine verbleibenden Barcoder.*-Referenzen enthält, bevor Sie bauen.

Barcoder-Migrations-Checkliste

Vor der Migration anfallende Aufgaben

Prüfen Sie Ihren Quellcode, um alle Barcoder-Nutzungen zu identifizieren, bevor Sie Änderungen vornehmen:

grep -rn "using Barcoder" --include="*.cs" .
grep -rn "Code128Encoder\.Encode" --include="*.cs" .
grep -rn "QrEncoder\.Encode" --include="*.cs" .
grep -rn "DataMatrixEncoder\.Encode" --include="*.cs" .
grep -rn "ImageRenderer\|ImageRendererOptions" --include="*.cs" .
grep -rn "SvgRenderer" --include="*.cs" .
grep -rn "renderer\.Render(" --include="*.cs" .
grep -rn "IBarcode" --include="*.cs" .
grep -rn "ErrorCorrectionLevel" --include="*.cs" .
SHELL

Alle Standorte dokumentieren, an denen IBarcode als Variablentyp gespeichert oder als Methodenparameter übergeben wird — dies sind die delayed Rendering-Bereiche, die die meiste Aufmerksamkeit erfordern. Notieren Sie alle PixelSize und BarHeightFor1DBarcode-Werte und messen Sie die entsprechenden Ausgabedimensionen.

Aufgaben der Code-Aktualisierung

  1. Entfernen Sie das Barcoder-NuGet-Paket aus allen Projekten.
  2. Entfernen Sie das Barcoder.Renderer.Image-NuGet-Paket aus allen Projekten.
  3. Entfernen Sie das Barcoder.Renderer.Svg-NuGet-Paket, wenn vorhanden.
  4. Installieren Sie das IronBarcode-NuGet-Paket.
  5. Fügen Sie IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"; beim Anwendungsstart hinzu.
  6. Ersetzen Sie alle using Barcoder.*-Anweisungen durch using IronBarCode;.
  7. Ersetzen Sie Code128Encoder.Encode(...) durch BarcodeWriter.CreateBarcode(..., BarcodeEncoding.Code128).
  8. Ersetzen Sie QrEncoder.Encode(...) durch QRCodeWriter.CreateQrCode(..., size).
  9. Ersetzen Sie DataMatrixEncoder.Encode(...) durch BarcodeWriter.CreateBarcode(..., BarcodeEncoding.DataMatrix).
  10. Entfernen Sie alle new ImageRenderer(new ImageRendererOptions {...})-Konstruktionen.
  11. Ersetzen Sie renderer.Render(barcode, fileStream) durch .SaveAsPng(path) auf GeneratedBarcode.
  12. Ersetzen Sierenderer.Render(barcode, memoryStream) + ms.ToArray()durch .ToPngBinaryData().
  13. Ersetzen Sie die Verwendung von SvgRenderer durch .SaveAsSvg(path).
  14. Ändern Sie IBarcode-Typreferenzen zu GeneratedBarcode.
  15. Ersetzen Sie PixelSize / BarHeightFor1DBarcode-Optionen durch .ResizeTo(width, height).

Post-Migrationstests

  • Überprüfen Sie, ob jedes generierte Barcode-Format mit einem Standardscanner oder dem Lesegerät von IronBarcode korrekt gescannt werden kann.
  • Vergleichen Sie visuelle Ausgabedimensionen mit der Vor-Migration-Ausgabe — bestätigen Sie, dass .ResizeTo()-Werte äquivalente Größen erzeugen.
  • Testen Sie die QR-Code-Ausgabe mit einem Smartphone-Scanner, um sicherzustellen, dass die Fehlerkorrektur ausreichend ist.
  • Überprüfen Sie, ob die SVG-Ausgabe im Browser und im Druckkontext korrekt dargestellt wird, falls Ihr Projekt SVG verwendet.
  • Wenn Sie eine zweite Lese-Bibliothek entfernt haben, verifizieren Sie, dass BarcodeReader.Read() für die gleichen Eingaben äquivalente Dekodierwerte erzeugt.
  • Testen Sie das Lesen von PDFs, falls Ihr Projekt PDF-Dokumente verarbeitet – stellen Sie sicher, dass mehrseitige PDFs alle Seiten korrekt lesen.
  • Führen Sie einen Build mit null verbleibenden Barcoder.*-Referenzen durch — Compiler-Fehler weisen auf nicht berücksichtigte Migrationsstellen hin.

Wichtigste Vorteile der Migration zu IronBarcode

Vereinheitlichte Paketabhängigkeit: Ein NuGet Paket ersetzt zwei (oder drei, wenn der SVG-Renderer ebenfalls verwendet wurde). Eine Versionsverfolgung, ein Änderungsprotokoll zur Überwachung und keine Kompatibilitätsprobleme zwischen Paketen bei Abhängigkeitsaktualisierungen. Die .csproj und packages.lock.json-Komplexität reduziert sich sofort.

Native Lesefunktion: Anwendungen, die bisher eine zweite Bibliothek zum Lesen von Barcodes benötigten, können nun auf IronBarcode umgestellt werden. BarcodeReader.Read() akzeptiert Bilddateien, Byte-Arrays, Streams und PDFs über die gleiche API, mit einer integrierten Multi-Barcode-Erkennung und Lesegeschwindigkeitsanpassung.

Formatwahl als Konfiguration: Das Hinzufügen eines neuen Barcode-Formats zu einem bestehenden Projekt ist eine Änderung von einem Wort zum BarcodeEncoding-Enum-Wert in einem vorhandenen CreateBarcode-Aufruf. Kein neuer Namespace-Import, keine neue Encoder-Klasse und kein neues Paket. Dadurch wird die Formaterweiterung bei sich ändernden Produktanforderungen unkompliziert.

Explizite Ausgabeabmessungen: .ResizeTo(width, height) ersetzt das indirekte PixelSize-Multiplikatorsystem durch eine explizite Pixelspezifikation. Die Beziehung zwischen Code und Ausgabe ist direkt und vorhersehbar, unabhängig von der Länge des Barcode-Inhalts oder der formatspezifischen Modulgröße.

Erweiterte Plattformabdeckung: IronBarcode unterstützt .NET Framework 4.6.2 bis .NET 9, MAUI-Bereitstellungen auf iOS, Android, Windows und macOS sowie die dokumentierte Bereitstellung auf Docker, AWS Lambda und Azure Functions. Teams, deren Plattformanforderungen über .NET Core hinausgehen, werden nicht auf die Framework-Unterstützungslücke stoßen, die Barcoder.Renderer.Image betrifft.

Aktive Wartung und zukünftige Kompatibilität: IronBarcode veröffentlicht regelmäßig Updates mit dokumentierten .NET Kompatibilitätszeitplänen. Der aktive Veröffentlichungsrhythmus hält die Bibliothek mit den aktuellen .NET-Versionen auf dem Laufenden, was bei einer Bibliothek mit begrenzter aktueller Veröffentlichungsaktivität nicht gewährleistet ist.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.