Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
In diesem Tutorial werden wir zwei weit verbreitete C#-Bibliotheken - IronBarcode und QrCoder - für die Arbeit mit QR-Codes und Barcodes vergleichen.
Beginnen wir mit einer kurzen Einführung in beide Bibliotheken:
IronBarcode ist eine von Iron Software entwickelte und gepflegte Bibliothek, die es C#-Softwareentwicklern ermöglicht, Barcodes und QR-Codes in .NET-Anwendungen und Websites zu lesen und zu schreiben. Es ist auf NuGet für alle .NET-Frameworks und .NET Core Frameworks verfügbar. IronBarcode benötigt nur eine Zeile Code, um Barcodes zu lesen oder zu schreiben.
QRCoder ist eine einfache C#-Bibliothek, mit der Sie QR-Codes erstellen können. Es hat keine Abhängigkeiten von anderen Bibliotheken und ist auf NuGet in .NET-Framework und .NET Core PCL Versionen verfügbar.
Beide Bibliotheken sollten die folgenden Hauptmerkmale aufweisen:
Barcode generieren
Wir werden alle diese Funktionen aus beiden Bibliotheken implementieren und ihre Leistung vergleichen.
Installieren wir zunächst beide Bibliotheken in unserem Visual Studio-Projekt. Da beide Bibliotheken ihre eigenen NuGet-Pakete haben, werden wir sie über die NuGet Package Manager Console installieren.
Um IronBarcode zu installieren, geben Sie den folgenden Befehl in der Paketmanager-Konsole ein:
Install-Package BarCode
Dadurch wird die IronBarcode-Bibliothek in unserem Projekt installiert.
Geben Sie in der Paketmanager-Konsole den folgenden Befehl ein
Install-Package QRCoder
Dadurch wird die QrCoder-Bibliothek in unserem Projekt installiert.
Jetzt werden wir unseren ersten QR-Code mit beiden Bibliotheken erzeugen.
Der folgende Code erzeugt einen QR-Code.
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Dim qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder")
qrCode.SaveAsPng("D:\Barcode Images\QrCodeByIronBarcode")
stopwatch.Stop()
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms")
Die Instanz Stopwatch
wird erstellt, um die Ausführungszeit des Programms zu messen und die Effizienz der Bibliothek zu analysieren.
IronBarcode benötigt 3503 ms zum Erzeugen und Speichern eines QR-Codes.
Der folgende Beispielcode erzeugt einen QR-Code mit QrCoder.
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
Dim qrGenerator As New QRCodeGenerator()
Dim qrCodeData As QRCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q)
Dim qrCode As New QRCode(qrCodeData)
Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20)
qrCodeImage.Save("D:\Barcode Images\QrCodeByQrCoder.png")
QrCoder bietet keine eingebaute Funktion, um den QR-Code als Bild zu speichern. Wir können es jedoch speichern, indem wir den QrCoder in ein Bitmap-Objekt parsen. Anschließend können wir den QR-Code mit der von Bitmap bereitgestellten Speicherfunktion speichern.
QrCoder benötigt 592 ms zum Erzeugen und Speichern eines QR-Codes.
Die Ausführungszeit von IronBarcode beträgt 3503 ms, während QrCoder nur 592 ms benötigt. Das macht QrCoder leistungsfähiger als IronBarcode.
Die Erzeugung von QR-Codes ist in IronBarcode viel einfacher, da wir nur zwei Codezeilen schreiben müssen. Mit der QrCoder-Bibliothek sind dafür fünf Zeilen Code erforderlich.
IronBarcode bietet auch eine eingebaute Funktion, um generierte QR-Codes in einer Datei zu speichern, während QrCoder dies nicht tut. Wir müssen ein Bitmap-Objekt erstellen, um den QR-Code in einer Datei zu speichern. Dazu müssen wir vier Objekte erstellen, um QR-Codes mit QrCoder zu erzeugen. Wir brauchen nur ein Objekt in IronBarcode zu erstellen, um das Gleiche zu tun.
Als nächstes werden wir mit beiden Bibliotheken Strichcodes erzeugen.
Der folgende Code erzeugt einen Barcode mit IronBarcode:
var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
Dim barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128)
barcode.SaveAsPng("D:\Barcode Images\BarcodeByIronBarcode.png")
Die Ausführungszeit für die Erstellung eines Barcodes mit IronBarcode ist unten angegeben:
Es dauert 3756 ms oder 3,76 Sekunden, um einen Barcode zu erzeugen.
Es ist erwähnenswert, dass die QrCoder-Bibliothek keine Funktionalität zur Erstellung von Barcodes bietet. Wenn Sie also Strichcodes erstellen müssen, ist IronBarcode die bessere Wahl.
Was das Scannen von QR-Codes angeht, so wollen wir sehen, welche Bibliothek die beste Option ist.
Der folgende Code liest einen QR-Code mit IronBarcode.
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
foreach (BarcodeResult result in results)
{
Console.WriteLine("Extracted text from QR Code is: "+result.Text);
}
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
foreach (BarcodeResult result in results)
{
Console.WriteLine("Extracted text from QR Code is: "+result.Text);
}
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\QrcodeByIronBarcode.png")
If results IsNot Nothing Then
For Each result As BarcodeResult In results
Console.WriteLine("Extracted text from QR Code is: " & result.Text)
Next result
End If
IronBarcode gibt als Ergebnis des Lesens von QR-Codes ein "Enumerable" zurück. Wir müssen eine Schleife durch die "Enumerable" ziehen, um jedes Ergebnis abzurufen. Diese Funktion ist vorteilhaft für das Lesen von QR-Codes aus einem Dokument oder aus einem Bild, das mehr als einen QR-Code enthält.
Mit IronBarcode dauert es 3136 ms oder 3,1 Sekunden.
Die QrCoder Library bietet keine Funktionalität zum Lesen oder Scannen eines QR Codes.
Der folgende Code scannt den Barcode mit IronBarcode.
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
foreach (BarcodeResult result in results)
{
Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
}
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
foreach (BarcodeResult result in results)
{
Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
}
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\BarcodeByIronBarcode.png")
If results IsNot Nothing Then
For Each result As BarcodeResult In results
Console.WriteLine("Text Extracted from Barcode is: " & result.Text)
Next result
End If
IronBarcode liefert Enumerable
als Ergebnis des Lesens von Barcodes. Wir müssen sie in einer Schleife durchlaufen, um jedes Ergebnis zu erhalten. Es ist vorteilhaft für das Lesen von Barcode aus einem Dokument oder Bild, die mehr als ein Barcode haben.
Die durch den obigen Code erzeugte Ausgabe ist wie folgt:
QrCoder Library bietet nicht die Funktionalität des Lesens oder Scannens von QR Codes.
Lassen Sie uns nun die Lizenzoptionen der beiden Bibliotheken besprechen.
IronBarcode ist für Entwickler kostenlos. Für den Einsatz außerhalb der Visual Studio-Entwicklungsumgebung ist jedoch eine Lizenz erforderlich. Lizenzpreise von $749 bis $2999(USD). Sie können einen Rabatt erhalten, wenn Sie die kompletteIron Suite.
QrCoder ist Open Source und erfordert daher keine Lizenzierung. Es steht Ihnen frei, es in jeder Art von Umgebung zu verwenden. Sie können auch zu seinem Quellcode beitragen, wenn Sie die Open-Source-Entwicklung mögen.
Wenn wir nur die Funktionalität der Erzeugung von QR-Codes benötigen, ist QRCoder die beste Option, da es kostenlos ist und keine Zahlungen oder Abonnementgebühren erfordert.
IronBarcode ist eine großartige Option, wenn wir Funktionen benötigen, die über die Erzeugung von QR-Codes hinausgehen, wie z. B.:
In der folgenden Tabelle werden IronBarcode und QrCoder miteinander verglichen.
IronBarcode for .NET ermöglicht Entwicklern das Lesen und Schreiben von Barcodes und QR-Codes in ihren .NET-Anwendungen mit nur einer Codezeile. Die Bibliothek unterstützt die meisten Barcode- und QR-Code-Standards, einschließlich 39/93/128, UPC A/E, EAN 8/13 und QR, unter anderem. Die Bibliothek verarbeitet Barcode-Bilder automatisch vor und bietet Korrekturen für Drehung, Rauschen, Verzerrung und Schräglage, um Geschwindigkeit und Genauigkeit zu verbessern. IronBarcode ist kompatibel mit 32- und 64-Bit-Systemen, allen .NET-Sprachen und einer Vielzahl von Plattformen, einschließlich Desktop-, Konsolen-, Cloud-, Mobil- und Webanwendungen. Außerdem können Entwickler Barcodes und QR-Codes für PDF-, JPG-, TIFF-, GIF-, BMP-, PNG- und HTML-Dokumente schreiben und Textfarbe, -größe, -drehung und -qualität ändern. Die Bibliothek ist sicher und nutzt keine Webdienste und sendet keine Daten über das Internet. IronBarcode kann kostenlos getestet werden und bietet drei Lizenzierungsoptionen, darunter eine Lite-Version für die individuelle Nutzung, ein Professional-Paket für Teams von bis zu 10 Entwicklern und ein Unbegrenztes Paket für Unternehmen.
QRCoder ist eine C# .NET Bibliothek, die QR-Codes basierend auf ISO/IEC 18004 ohne Abhängigkeiten von anderen Bibliotheken erzeugt. Es bietet mehrere QR-Code-Rendering-Klassen, darunter QRCode, ArtQRCode, AsciiQRCode und andere. Allerdings sind nicht alle Renderer auf allen Zielframeworks verfügbar, und die Versionen .NET-Standard/.NET >=5.0 haben einige Einschränkungen. QRCoder ist kostenlos und erfordert keine Lizenzierung.
IronBarcode ist vielseitiger als QRCoder, da es alle Versionen des .NET-Frameworks unterstützt, einen größeren Funktionsumfang hat und SaaS- und OEM-Redistribution abdeckt. IronBarcode bietet außerdem eine umfassende Dokumentation und 24/7-Support, während QRCoder dies nicht tut. IronBarcode ist zwar lizenzpflichtig, aber in Anbetracht des Funktionsumfangs und der Unterstützung, die es bietet, angemessen.
IronBarcode ist eine Bibliothek, die vonIron Softwaredie auch andere nützliche Bibliotheken bietet, darunterIronPDF, IronXL, IronOCRundIronWebScraper. Kaufen Sie die vollständigeIron Suite um alle fünf Produkte mit einem bemerkenswerten Rabatt zu erhalten.
Zusammenfassend lässt sich sagen, dass IronBarcode am besten für diejenigen geeignet ist, die sowohl mit Barcodes als auch mit QR-Codes arbeiten und einen Barcode-Generator, QR-Code-Generator, Barcode-Leser und QR-Code-Leser erstellen möchten. Andererseits ist QRCoder für diejenigen geeignet, die nur einen QR-Code-Generator erstellen wollen.
9 .NET API-Produkte für Ihre Bürodokumente