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 Barcodebild, Barcodetyp, Binärwert, Koordinaten, Höhe, Breite, Seitennummer, Barcode, Seitenausrichtung, 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
- barcodeTyp
- binärwert
- Koordinaten, Höhe und Breite
- seitenzahl
- barcode" und "PageOrientation"
- Text & Wert
Barcode-Bild
Sobald IronBarcode einen Lesevorgang für ein Bild durchführt, werden die im Bild gefundenen Barcodes in BarcodeResult
als BarcodeImage
Eigenschaft vom Typ AnyBitmap
gespeichert. Die Eigenschaft BarcodeImage
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 Eigenschaft BarcodeImage speichern. Schließlich verwenden wir diese Liste, um mit der Methode "CreateMultiFrameTiff" ein mehrseitiges TIFF zu erzeugen.
Bitte beachten Sie
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 von IronBarcode unterstützten Barcodetypen zu erfahren, lesen Sie bitte hier nach artikel.
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
Im obigen Codeausschnitt haben wir den Barcode durch den Aufruf von "BarcodeReader.Read" gelesen()` Methode auf das Eingabebild. Dies gibt das Objekt "BarcodeResults" zurück, das alle "BarcodeResults" vom Lesen aller im Bild vorhandenen Strichcodes speichert. Als Nächstes durchlaufen wir das Objekt "BarcodeResults", um das "BarcodeResult" abzurufen und den Barcodewert und den Barcodetyp auf der Konsole auszugeben.
Binärer Wert
Mit IronBarcode können Benutzer auch das Byte-Array des Barcodewertes abrufen, indem sie die Eigenschaft BinaryValue
aus dem Objekt BarcodeResult
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 Strichcodes erkannt haben, gehen wir sie durch, greifen auf die Eigenschaft BinaryValue zu und erstellen damit neue QR-Code-Strichcodes.
Barcode-Koordinaten, Höhe und Breite
Eine weitere Eigenschaft des "BarcodeResult"-Objekts, auf die Benutzer zugreifen können, sind die Koordinaten des Strichcodes, 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 das Objekt "BarcodeResult" zu erhalten und die Eigenschaften daraus zu extrahieren, lesen wir zunächst die in einer Bilddatei vorhandenen Barcodes mit "BarcodeReader.Read()methode. Gleichzeitig muss die Eingabebilddatei auch in ein "AnyBitmap"-Objekt umgewandelt werden, damit die Redaktionsmethode auf das Bild angewendet werden kann. Sobald wir das "BarcodeResults"-Objekt haben, können wir es in einer Schleife durchlaufen, um die Werte X1, Y1, Width und Height aller im Bild vorhandenen Strichcodes zu ermitteln und sie als "CropRectangle"-Eigenschaften in der Datei "AnyBitmap.Redact" zu verwenden()methode.
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 verwendet BarcodeReader.ReadPdf()methode, um die Barcodes in einem mehrseitigen PDF-Dokument zu lesen, die das Objekt
BarcodeResultszurückgibt, das jedes im Dokument gefundene
BarcodeResult` speichert. 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 Barcodeausrichtung sowie die Seitenausrichtung, auf der der Barcode gefunden wurde, abrufen. Um diese beiden Informationen zu extrahieren, können Benutzer die Eigenschaften "Rotation" und "PageOrientation" aus dem Objekt "BarcodeResult" abrufen. rotation" gibt eine ganze Zahl zurück, die den Drehwinkel des gefundenen Strichcodes angibt. 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
Das obige einfache Codeschnipsel wurde mit der beigefügten PDF-Beispieleingabe ausgeführt, um zu beweisen, dass Benutzer die Seitenausrichtung und die Barcodedrehung abrufen können, indem sie den Wert von "BarcodeResult.PageOrientation" bzw. "BarcodeResult.Rotation" abrufen. Diese Funktion ist vor allem für die Fehlersuche nützlich.
Bitte beachten Sie
Text und Wert
Die Haupteigenschaft, die die Benutzer bei der Verwendung von IronBarcode abrufen möchten, ist natürlich der Wert und Text des Codes. Diese 2 Eigenschaften werden oft austauschbar verwendet und geben denselben Wert zurück. Abgesehen davon können Benutzer auch `BarcodeResult.ToString()methode, 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. Nach der Iteration durch die BarcodeResults
, die von BarcodeReader.Read
zurückgegeben wurden()in der Methode "BarcodeResult.ToString" wird das Ergebnis des Abrufs der Wert- und Texteigenschaften auf der Konsole ausgegeben()methode, um zu zeigen, dass sie alle denselben Wert ergeben.
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. Da verschiedene Ausgabedatenformate unterstützt werden, kann der Benutzer mit dem von IronBarcode zurückgegebenen Objekt BarcodeResult
noch viel mehr tun.