Wie man Datenformate ausgibt
Anstatt einfach nur den Barcode zu lesen und die Werte in der Konsole auszudrucken, bietet IronBarcode viel mehr. Es bietet mehrere Ausgabeformate, die dem Benutzer den Weg zur Weiterverarbeitung der Leseergebnisse ebnen. Diese Formate umfassen Eigenschaften wie Barcode-Bild, Barcode-Typ, BinaryValue
, Koordinaten, Höhe, Breite, Seitennummer, Barcode, Seitenorientierung, Text und Wert.
Der Benutzer kann diese Eigenschaften innerhalb des Programms weiter bearbeiten. Lassen Sie uns untersuchen, wie diese Eigenschaften verwendet werden können und in welchen Fällen sie hilfreich sind.
Wie man Datenformate ausgibt
Erste Schritte mit IronBarcode
Beginnen Sie noch heute mit der Verwendung von IronBarcode in Ihrem Projekt mit einer kostenlosen Testversion.
Ausgabeformate und Anwendungsfälle
BarcodeResult
speichert verschiedene nützliche Eigenschaften. Diese Eigenschaften sind im Folgenden aufgeführt:
BarcodeImage
BarcodeType
- Binärwert
- Koordinaten, Höhe und Breite
Seitenzahl
Barcode
undSeitenorientierung
- Text & Wert
Barcode-Bild
Sobald IronBarcode den Leseprozess an einem Bild durchführt, werden die im Bild gefundenen Barcodes in BarcodeResult
als BarcodeImage
-Eigenschaft vom Typ AnyBitmap
gespeichert. Die BarcodeImage
-Eigenschaft speichert die gefundenen Barcode-Bilder. Die Benutzer können dieses Objekt abrufen, um das Bild weiter zu bearbeiten oder es als dauerhafte Kopie zu speichern. Dies ermöglicht eine effiziente und einfache Nutzung, da keine zusätzlichen Codes geschrieben werden müssen, um die Barcodebilder aus einem Bild zu extrahieren.
Das folgende Codeschnipsel veranschaulicht einen möglichen Anwendungsfall für dieses Ausgabeformat
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BarcodeImage.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Read barcode from PDF file
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");
// Create list for barcodes
List<AnyBitmap> barcodeList = new List<AnyBitmap>();
foreach (BarcodeResult barcode in result)
{
barcodeList.Add(barcode.BarcodeImage);
}
// Create multi-page TIFF
AnyBitmap.CreateMultiFrameTiff(barcodeList).SaveAs("barcodeImages.tif");
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Read barcode from PDF file
Private result As BarcodeResults = BarcodeReader.ReadPdf("test.pdf")
' Create list for barcodes
Private barcodeList As New List(Of AnyBitmap)()
For Each barcode As BarcodeResult In result
barcodeList.Add(barcode.BarcodeImage)
Next barcode
' Create multi-page TIFF
AnyBitmap.CreateMultiFrameTiff(barcodeList).SaveAs("barcodeImages.tif")
Der obige Codeschnipsel veranschaulicht einen der Anwendungsfälle für dieses Ausgabeformat. Es wurde speziell entwickelt, um ein mehrseitiges TIFF-Bild aus Barcodes zu erstellen, die in einem PDF-Dokument erkannt wurden. Zuerst scannen oder erkennen wir Barcodes in der Beispiel-PDF. Dann erstellen wir eine AnyBitmap
-Liste, in der wir die Informationen aus der BarcodeImage-Eigenschaft speichern. Schließlich nutzen wir diese Liste, um mit der CreateMultiFrameTiff
-Methode ein mehrseitiges TIFF zu erstellen.
Bitte beachten Sie
BarcodeImage
-Eigenschaft von BarcodeResult
speichert nur die Bilder der während des Lesens gefundenen Barcodes und nicht das gesamte Eingabebild selbst.Barcode Typ
Diese Eigenschaft hilft dem Benutzer bei der Bestimmung des Barcodetyps im Eingabebild oder -dokument. Die Einschränkung dieser Funktion besteht jedoch darin, dass der Barcodetyp im Bild derjenige sein muss, der von IronBarcode unterstützt wird und gelesen werden kann. Um mehr über die unterstützten Barcode-Typen in IronBarcode zu erfahren, können Benutzer diesen Artikel konsultieren.
Der folgende Codeausschnitt zeigt, wie Benutzer die Barcodewerte sowie den Barcodetyp in einem Bild abrufen können, indem sie die Werte auf der Konsole drucken.
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BarcodeType.cs
using IronBarCode;
using System;
// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("bc3.png");
// Output barcode type to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine("The barcode value is " + barcode.ToString() + " and the barcode type is " + barcode.BarcodeType);
}
Imports IronBarCode
Imports System
' Read barcode from PNG
Private result As BarcodeResults = BarcodeReader.Read("bc3.png")
' Output barcode type to console
For Each barcode As BarcodeResult In result
Console.WriteLine("The barcode value is " & barcode.ToString() & " and the barcode type is " & barcode.BarcodeType)
Next barcode
Aus dem obigen Code-Snippet haben wir den Barcode gelesen, indem wir die Methode BarcodeReader.Read()
auf dem Eingabebild aufgerufen haben. Dies gibt ein BarcodeResults
-Objekt zurück, das alle BarcodeResult
speichert, die beim Lesen aller im Bild verfügbaren Barcodes erzeugt wurden. Als Nächstes durchlaufen wir das BarcodeResults
-Objekt, um das BarcodeResult
abzurufen und den Barcode-Wert sowie den Barcode-Typ auf der Konsole auszugeben.
Binärer Wert
Mit IronBarcode können Benutzer das Byte-Array des Barcode-Werts abrufen, indem sie die BinaryValue
-Eigenschaft aus dem BarcodeResult
-Objekt abrufen. Dies ermöglicht es dem Benutzer, den Barcodewert innerhalb des Programms weiter zu manipulieren.
Das folgende Codeschnipsel zeigt einen der Anwendungsfälle für das Abrufen des Barcodewertes als Binärdaten
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BinaryValue.cs
using IronBarCode;
// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("multiple-barcodes.png");
int i = 1;
foreach (BarcodeResult barcode in result)
{
var binaryValue = barcode.BinaryValue;
var barcodeType = IronBarCode.BarcodeEncoding.QRCode;
// Create QR code
GeneratedBarcode generatedBarcode = BarcodeWriter.CreateBarcode(binaryValue, barcodeType);
// Export QR code
generatedBarcode.SaveAsPng($"qrFromBinary{i}.png");
i++;
}
Imports IronBarCode
' Read barcode from PNG
Private result As BarcodeResults = BarcodeReader.Read("multiple-barcodes.png")
Private i As Integer = 1
For Each barcode As BarcodeResult In result
Dim binaryValue = barcode.BinaryValue
Dim barcodeType = IronBarCode.BarcodeEncoding.QRCode
' Create QR code
Dim generatedBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(binaryValue, barcodeType)
' Export QR code
generatedBarcode.SaveAsPng($"qrFromBinary{i}.png")
i += 1
Next barcode
Anhand des obigen Codeschnipsels haben wir ein einfaches Programm erstellt, das im Wesentlichen mehrere Barcodes innerhalb eines Bildes in separate neue Bilder von QR-Codes umwandelt. Zunächst scannen wir die Barcodes im PNG-Beispielbild. Sobald wir diese Barcodes erkannt haben, iterieren wir durch sie, greifen auf die BinaryValue-Eigenschaft zu und verwenden sie dann, um neue QR-Code-Barcodes zu erstellen.
Barcode-Koordinaten, Höhe und Breite
Eine weitere Eigenschaft des BarcodeResult
-Objekts, auf die Benutzer zugreifen können, sind die Koordinaten des Barcodes, einschließlich X1, Y1 und X2, Y2, sowie seine Höhe und Breite innerhalb einer Bilddatei oder eines Dokuments. Diese Eigenschaften erweisen sich als sehr nützlich, wenn Benutzer Informationen über die Position und die Abmessungen des Strichcodes abrufen müssen. Die Lage und die Abmessungen des Strichcodes sollen anhand einer Abbildung verdeutlicht werden.
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-height-width.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Linq;
// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("multiple-barcodes.png");
AnyBitmap bitmap = AnyBitmap.FromFile("multiple-barcodes.png");
foreach (BarcodeResult barcode in result)
{
PointF[] barcodePoints = barcode.Points;
float x1 = barcodePoints.Select(b => b.X).Min();
float y1 = barcodePoints.Select(b => b.Y).Min();
Rectangle rectangle = new Rectangle((int)x1, (int)y1, (int)barcode.Width!, (int)barcode.Height!);
bitmap = bitmap.Redact(rectangle, Color.Magenta);
// Save the image
bitmap.SaveAs("redacted.png", AnyBitmap.ImageFormat.Png);
}
Imports System
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.Linq
' Read barcode from PNG
Private result As BarcodeResults = BarcodeReader.Read("multiple-barcodes.png")
Private bitmap As AnyBitmap = AnyBitmap.FromFile("multiple-barcodes.png")
For Each barcode As BarcodeResult In result
Dim barcodePoints() As PointF = barcode.Points
Dim x1 As Single = barcodePoints.Select(Function(b) b.X).Min()
Dim y1 As Single = barcodePoints.Select(Function(b) b.Y).Min()
'INSTANT VB TODO TASK: There is no VB equivalent to the C# 'null-forgiving operator':
'ORIGINAL LINE: Rectangle rectangle = new Rectangle((int)x1, (int)y1, (int)barcode.Width!, (int)barcode.Height!);
Dim rectangle As New Rectangle(CInt(Math.Truncate(x1)), CInt(Math.Truncate(y1)), CInt(barcode.Width), CInt(barcode.Height))
bitmap = bitmap.Redact(rectangle, Color.Magenta)
' Save the image
bitmap.SaveAs("redacted.png", AnyBitmap.ImageFormat.Png)
Next barcode

Vor der Redigierung

Nach der Schwärzung
Das obige Codeschnipsel wurde verwendet, um mehrere Strichcodes in einer Bilddatei zu redigieren. Um dies zu erreichen, haben wir 2 Bibliotheken miteinander kombiniert, nämlich IronBarcode und IronDrawing. Um ein BarcodeResult
-Objekt zu erhalten und die Eigenschaften daraus zu extrahieren, lesen wir zunächst die in einer Bilddatei verfügbaren Barcodes mithilfe der BarcodeReader.Read()
-Methode. Gleichzeitig muss die Eingabebilddatei ebenfalls in ein AnyBitmap
-Objekt konvertiert werden, um die Schwärzungsmethode auf das Bild anzuwenden. Sobald wir das BarcodeResults
-Objekt haben, können wir eine Schleife anwenden und es durchlaufen, um die X1, Y1, Breite und Höhe jedes verfügbaren Barcodes im Bild zu erhalten und diese als CropRectangle
-Eigenschaften in der AnyBitmap.Redact()
-Methode verwenden.
Seitenzahl
Die Benutzer können auch die Seitenzahl abrufen, auf der der Barcode gefunden wurde. Dies ist eine hilfreiche Funktion für Benutzer, die ein mehrseitiges Dokument verwenden möchten, das mehrere Barcodes enthält, und die für die weitere Verarbeitung wissen müssen, wo sich die Barcodes im Dokument befinden.
Schauen wir uns das folgende Codeschnipsel an:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-page-number.cs
using IronBarCode;
using System;
// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");
// Output page number to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine("The barcode value " + barcode.ToString() + " is found on page number " + barcode.PageNumber);
}
Imports IronBarCode
Imports System
' Read barcode from PDF
Private result As BarcodeResults = BarcodeReader.ReadPdf("test.pdf")
' Output page number to console
For Each barcode As BarcodeResult In result
Console.WriteLine("The barcode value " & barcode.ToString() & " is found on page number " & barcode.PageNumber)
Next barcode
Das obige einfache Codeschnipsel demonstriert einen Anwendungsfall, bei dem das Programm den Wert von Barcodes in einem mehrseitigen PDF-Dokument sowie die Seitenzahlen zurückgeben soll. Der obige Codeausschnitt verwendete die Methode BarcodeReader.ReadPdf()
, um die Barcodes in einem mehrseitigen PDF-Dokument zu lesen. Dies gab ein BarcodeResults
-Objekt zurück, das jedes im Dokument gefundene BarcodeResult
speicherte. Schleife anwenden und jedes Element im Objekt durchlaufen, um den Wert der Strichcodes und die Seitenzahl, auf der die Strichcodes gefunden wurden, zu ermitteln. Abgesehen von diesem Anwendungsfall können Benutzer diese Eigenschaft auch zur Fehlersuche verwenden, wenn alle Barcodes in einem Dokument gelesen werden konnten.
Bitte beachten Sie
Barcodedrehung und Seitenausrichtung
Mit IronBarcode können Benutzer auch Informationen über die Barcode-Ausrichtung sowie die Seitenorientierung abrufen, auf der der Barcode gefunden wurde. Um diese 2 Informationen zu extrahieren, können Benutzer die Eigenschaften Rotation
und PageOrientation
des BarcodeResult
-Objekts abrufen. Rotation
wird eine Ganzzahl zurückgeben, die den Drehwinkel des gefundenen Barcodes darstellt. Bitte beachten Sie jedoch, dass
Schauen wir uns das folgende Codeschnipsel an:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-orientation.cs
using IronBarCode;
using System;
// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");
// Output page orientation and rotation to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine(barcode.Value);
Console.WriteLine(barcode.PageOrientation);
Console.WriteLine(barcode.Rotation);
}
Imports IronBarCode
Imports System
' Read barcode from PDF
Private result As BarcodeResults = BarcodeReader.ReadPdf("test.pdf")
' Output page orientation and rotation to console
For Each barcode As BarcodeResult In result
Console.WriteLine(barcode.Value)
Console.WriteLine(barcode.PageOrientation)
Console.WriteLine(barcode.Rotation)
Next barcode
Der einfache Code-Schnipsel oben wurde mit der angehängten Beispiel-PDF-Eingabe ausgeführt, um zu beweisen, dass Benutzer die Seitenorientierung und die Barcode-Drehung abrufen können, indem sie den Wert von BarcodeResult.PageOrientation
beziehungsweise BarcodeResult.Rotation
erhalten. Diese Funktion ist vor allem für die Fehlersuche nützlich.
{i:(IronBarcode kann nur Barcodes mit einer Drehung von 0, 90, 180 und 270 Grad lesen. IronBarcode gibt keinen Wert zurück, wenn der Barcode einen anderen Rotationswert als den angegebenen hat. PageOrientation
wird ein PageOrientation
-Objekt zurückgeben, das aus Hochformat oder Querformat besteht.
Text und Wert
Natürlich ist die Hauptsache, die Benutzer abrufen möchten, wenn sie IronBarcode verwenden, den Wert und den Text zu kennen. Diese 2 Eigenschaften werden oft austauschbar verwendet und geben denselben Wert zurück. Abgesehen davon können Nutzer auch die Methode BarcodeResult.ToString()
verwenden, um das gleiche Ergebnis zu erzielen. Das folgende Codeschnipsel zeigt dies:
:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-text-value.cs
using IronBarCode;
using System;
// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("barcodestamped3.pdf");
// Output text value to console
foreach (BarcodeResult barcode in result)
{
Console.WriteLine(barcode.Value);
Console.WriteLine(barcode.Text);
Console.WriteLine(barcode.ToString());
}
Imports IronBarCode
Imports System
' Read barcode from PDF
Private result As BarcodeResults = BarcodeReader.ReadPdf("barcodestamped3.pdf")
' Output text value to console
For Each barcode As BarcodeResult In result
Console.WriteLine(barcode.Value)
Console.WriteLine(barcode.Text)
Console.WriteLine(barcode.ToString())
Next barcode
Aus dem obigen Codeschnipsel geht hervor, dass Benutzer nur ein paar Zeilen Code verwenden müssen, um mit IronBarcode einen Barcode in einem Bild zu lesen. Nachdem wir die BarcodeResults
, die von der Methode BarcodeReader.Read()
zurückgegeben wurden, durchlaufen haben, geben wir das Ergebnis des Abrufs der Wert- und Texteigenschaften sowie des Aufrufs der Methode BarcodeResult.ToString()
in der Konsole aus, um zu zeigen, dass alle diese den gleichen Wert zurückgegeben haben.
Kurz gesagt, IronBarcode ist eine perfekte API für Benutzer, um mehrere Operationen in Bezug auf Barcodes durchzuführen, und nicht nur auf das Schreiben und Dekodieren von Barcodes beschränkt. Mit verschiedenen unterstützten Ausgabedatenformaten können Benutzer mit dem BarcodeResult
-Objekt, das von IronBarcode zurückgegeben wird, viel mehr tun.