Wie man Barcode-Datenformate in C# ausgibt

How to Output Data Formats

This article was translated from English: Does it need improvement?
Translated
View the article in English

Anstatt einfach den Barcode zu lesen und die Werte in der Konsole auszugeben, bietet IronBarcode viel mehr. Es bietet mehrere Ausgabeformate, die den Weg für Benutzer ebnen, die gelesenen Ergebnisse weiter zu verarbeiten. Diese Formate umfassen Eigenschaften wie Barcode-Bild, Barcode-Typ, BinaryValue, Koordinaten, Höhe, Breite, Seitennummer, Barcode, Seitenorientierung, Text und Wert.

Benutzer können diese Eigenschaften weiter innerhalb des Programms manipulieren. Lassen Sie uns erkunden, wie man diese Eigenschaften nutzt und in welchen Anwendungsfällen sie hilfreich sein können.

als-Überschrift:2(Schnellstart: Barcode-Wert und Typ in einer Zeile lesen)

Dieses Beispiel zeigt, wie einfach es ist, einen Barcode aus einem Bild mit IronBarcode zu lesen – nur eine Zeile um zu laden, dann sofort den Wert und Typ des Barcodes auszugeben. Es ist perfekt, um schnell zu starten.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    var result = IronBarCode.BarcodeReader.Read("input.png");
    Console.WriteLine($"Value: {result[0].Value}, Type: {result[0].BarcodeType}");
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Lesen von Barcodes herunter
  2. Bereiten Sie das PDF und Bild für die Barcode-Erkennung vor
  3. Zugriff auf den erkannten Barcode-Typ und das Bild
  4. Extrahieren Sie die x- und y-Koordinaten des Barcodes sowie seine Höhe und Breite
  5. Lesen Sie den Text und Wert des Barcodes

Ausgabeformate und Anwendungsfälle

BarcodeResult speichert verschiedene nützliche Eigenschaften. Diese Eigenschaften sind unten aufgeführt:

  • BarcodeImage
  • BarcodeType
  • BinaryValue
  • Koordinaten, Höhe & Breite
  • PageNumber
  • Barcode und PageOrientation
  • Text & Wert

Barcode-Bild

Sobald IronBarcode einen Lesevorgang auf einem Bild durchführt, werden die im Bild gefundenen Barcodes in BarcodeResult als BarcodeImage Eigenschaft des Typs AnyBitmap gespeichert. Die BarcodeImage-Eigenschaft speichert die gefundenen Barcode-Bilder. Benutzer können dieses Objekt abrufen, um das Bild weiter zu verarbeiten oder es als permanente Kopie zu speichern. Das bietet Effizienz und Benutzerfreundlichkeit, indem der Bedarf entfällt, zusätzlichen Code zu schreiben, um die Barcode-Bilder aus einem Bild zu extrahieren.

Sehen wir uns den untenstehenden Codeausschnitt an, der einen möglichen Anwendungsfall für dieses Ausgabeformat demonstriert:

: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")
$vbLabelText   $csharpLabel

Der obige Codeausschnitt illustriert einen der Anwendungsfälle für dieses Ausgabeformat. Genauer gesagt, er ist darauf ausgelegt, ein mehrseitiges TIFF-Bild aus innerhalb eines PDF-Dokuments erkannten Barcodes zu erstellen. Zuerst scannen oder erkennen wir Barcodes im Beispiel-PDF. Dann erstellen wir eine Liste von AnyBitmap, in der wir die Informationen von der BarcodeImage-Eigenschaft speichern. Schließlich nutzen wir diese Liste, um ein mehrseitiges TIFF mit der CreateMultiFrameTiff-Methode zu generieren.

Hinweis:Die BarcodeImage-Eigenschaft von BarcodeResult speichert nur die Bilder von während des Lesens gefundenen Barcodes, nicht das gesamte Eingabebild selbst.

Barcode-Typ

Diese Eigenschaft hilft den Benutzern, zu bestimmen, welcher Barcode-Typ im Eingabebild oder Dokument vorhanden ist. Die Einschränkung dieser Funktion besteht jedoch darin, dass der Barcode-Typ im Bild diejenigen sein muss, die unterstützt werden und von IronBarcode gelesen werden können. Um mehr über die von IronBarcode unterstützten Barcode-Typen zu erfahren, können Benutzer auf diesen Artikel verweisen.

Der untenstehende Codeausschnitt zeigt, wie Benutzer die Barcode-Werte sowie den Barcode-Typ in einem Bild abrufen können, indem sie die Werte in die Konsole ausgeben.

: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
$vbLabelText   $csharpLabel

Vom obigen Codeausschnitt aus führen wir das Barcode-Lesen durch, indem wir die BarcodeReader.Read()-Methode auf das Eingabebild aufrufen. Dies ergibt ein BarcodeResults-Objekt, das alle BarcodeResults speichert, die beim Lesen aller im Bild verfügbaren Barcodes gefunden wurden. Als Nächstes iterieren wir durch das BarcodeResults-Objekt, um das BarcodeResult abzurufen, und bekommen den Barcode-Wert und -Typ, um ihn in die Konsole auszugeben.

Binärwert

Mit IronBarcode können Benutzer auch das Byte-Array des Barcode-Werts abrufen, indem sie auf die BinaryValue-Eigenschaft des BarcodeResult-Objekts zugreifen. Dadurch können die Benutzer den Barcode-Wert weiter im Programm manipulieren.

Der untenstehende Codeausschnitt zeigt einen Anwendungsfall, bei dem der Barcode-Wert als Binärdaten abgerufen wird:

: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
$vbLabelText   $csharpLabel

Unter Beobachtung des obigen Codeausschnitts haben wir ein einfaches Programm erstellt, das mehrere Barcodes innerhalb eines Bildes in separate neue binär codierte Dateien umwandelt. Anfangs scannen wir die Barcodes im Beispiel-PNG-Bild. Sobald wir diese Barcodes erkannt haben, iterieren wir durch sie, greifen auf die BinaryValue-Eigenschaft zu und nutzen sie dann, um neue Binärdateien zu erstellen.

Barcode-Koordinaten, Höhe & Breite

Eine weitere Eigenschaft des BarcodeResult-Objekts, die Benutzer zugreifen können, sind die Barcode-Koordinaten, 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 Abmessungen des Barcodes abrufen müssen.

Lasst uns eine Illustration verwenden, um die Position und Abmessungen des Barcodes hervorzuheben.

: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
$vbLabelText   $csharpLabel
class="competitors-section__wrapper-even-1">
Beispiel Eingabe vor der Schwärzung
Geschwärztes Bild

Der obige Codeausschnitt wird verwendet, um mehrere in einer Bilddatei gefundene Barcodes zu schwärzen. Um dies zu erreichen, verwenden wir eine Kombination aus zwei Bibliotheken, IronBarcode und IronDrawing. Um das BarcodeResult-Objekt zu erhalten und die Eigenschaften daraus zu extrahieren, lesen wir zunächst die in einer Bilddatei verfügbaren Barcodes mit der BarcodeReader.Read()-Methode. Gleichzeitig muss die Eingabebilddatei auch in ein AnyBitmap-Objekt umgewandelt werden, um die Schwärzungsmethode auf das Bild anzuwenden. Sobald wir das BarcodeResults-Objekt haben, können wir eine Schleife anwenden und durch sie iterieren, um X1, Y1, Breite und Höhe jedes in dem Bild verfügbaren Barcodes zu erhalten und sie in den CropRectangle-Eigenschaften der AnyBitmap.Redact()-Methode zu verwenden.

Seitennummer

Benutzer können auch die Seitennummer abrufen, auf der der Barcode gefunden wurde. Dies ist eine nützliche Funktion für Benutzer, die ein mehrseitiges Dokument verwenden möchten, das mehrere Barcodes enthält und wissen möchten, wo sich die im Dokument gefundenen Barcodes zur weiteren Verarbeitung befinden.

Sehen wir uns den untenstehenden Codeausschnitt 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
$vbLabelText   $csharpLabel

Der einfache obige Codeausschnitt zeigt einen Anwendungsfall, bei dem Benutzer möchten, dass das Programm den Wert der in einem mehrseitigen PDF-Dokument gefundenen Barcodes und ihre jeweiligen Seitennummern zurückgibt. Der obige Codeausschnitt verwendet die BarcodeReader.ReadPdf()-Methode, um die Barcodes innerhalb eines mehrseitigen PDF-Dokuments zu lesen, was ein BarcodeResults-Objekt zurückgibt, das jedes im Dokument gefundene BarcodeResult speichert. Wir wenden eine Schleife an und iterieren durch jedes Element im Objekt, um den Wert der Barcodes und die Seite, auf der die Barcodes gefunden wurden, abzurufen. Abgesehen von diesem Anwendungsfall können Benutzer diese Eigenschaft auch verwenden, um zu debuggen, ob alle Barcodes in einem Dokument gelesen werden konnten.

Hinweis:Der Wert, der von dieser Eigenschaft zurückgegeben wird, ist 1-basiert, d.h. die erste Seite ist immer eins und nicht null

Barcode-Drehung und Seitenorientierung

Mit IronBarcode können Benutzer auch Informationen über die Barcode-Orientierung und die Seitenorientierung, auf der der Barcode gefunden wurde, abrufen. Um diese beiden Informationen zu extrahieren, können Benutzer die Rotation- und PageOrientation-Eigenschaften des BarcodeResult-Objekts aufrufen. Rotation gibt eine Ganzzahl zurück, die den Drehungswinkel des gefundenen Barcodes darstellt.

Sehen wir uns den untenstehenden Codeausschnitt 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
$vbLabelText   $csharpLabel

Der einfache obige Codeausschnitt wurde mit dem beigefügten PDF-Beispielinput ausgeführt, um zu beweisen, dass Benutzer die Seitenorientierung und Barcode-Drehung abrufen können, indem sie den Wert von BarcodeResult.PageOrientation und BarcodeResult.Rotation erhalten. Diese Funktion ist hauptsächlich für Debugging-Zwecke nützlich.

Hinweis:IronBarcode kann nur Barcodes mit Drehungen von 0, 90, 180 und 270 Grad lesen. IronBarcode gibt keinen Wert zurück, wenn der Barcode einen anderen als die genannten Drehungswerte hat. PageOrientation wird ein PageOrientation-Objekt zurückgeben, das aus Portrait oder Landschaft besteht.

Text und Wert

Natürlich ist die Haupteigenschaft, die Benutzer abrufen möchten, wenn sie IronBarcode verwenden, der Wert und der Text. Diese beiden Eigenschaften werden häufig synonym verwendet und geben denselben Wert zurück. Darüber hinaus können Benutzer auch die BarcodeResult.ToString()-Methode verwenden, um dasselbe Ergebnis zu erzielen. Der folgende Codeausschnitt demonstriert:

: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
$vbLabelText   $csharpLabel

Aus dem obigen Codeausschnitt benötigen Benutzer nur wenige Codezeilen, um Barcodes in einem Bild mit IronBarcode zu lesen. Nachdem wir durch die von der BarcodeReader.Read()-Methode zurückgegebenen BarcodeResults iteriert haben, geben wir das Ergebnis des Abrufens der Wert- und Texteigenschaften sowie das Aufrufen der BarcodeResult.ToString()-Methode aus, um zu zeigen, dass alle dieselben Werte zurückgegeben haben.

Zusammenfassend ist IronBarcode ein perfektes API für Benutzer, um mehrere Vorgänge im Zusammenhang mit Barcodes durchzuführen, nicht nur Beschreiben und Dekodieren von Barcodes. Mit verschiedenen unterstützten Ausgabedatenformaten können Benutzer so viel mehr mit dem von IronBarcode zurückgegebenen BarcodeResult-Objekt machen.

Häufig gestellte Fragen

Welche Ausgabe-Datenformate stehen für die Barcode-Verarbeitung in .NET C# zur Verfügung?

IronBarcode bietet mehrere Ausgabe-Datenformate für die Barcode-Verarbeitung in .NET C#, einschließlich Barcode-Bild, Typ, `BinaryValue`, Koordinaten, Höhe, Breite, Seitennummer, Orientierung, Text und Wert. Diese Formate erleichtern verschiedene Barcode-bezogene Operationen.

Wie kann ich Barcode-Bilder mit C# erfassen und speichern?

Sie können die `BarcodeImage`-Eigenschaft in IronBarcode verwenden, um Barcode-Bilder zu erfassen und zu speichern, was hilfreich für Aufgaben wie das Erstellen von mehrseitigen TIFF-Dateien aus erkannten Barcodes ist.

Wie identifiziere ich den Typ eines Barcodes in einem Bild mit C#?

Die `BarcodeType`-Eigenschaft in IronBarcode ermöglicht es Ihnen, den Typ eines in einem Bild vorhandenen Barcodes zu identifizieren. Dies hilft bei der effektiven Verarbeitung unterstützter Barcode-Typen.

Wie kann ich Barcode-Daten in ein Byte-Array umwandeln?

Durch Zugriff auf die `BinaryValue`-Eigenschaft in IronBarcode können Sie Barcode-Daten in ein Byte-Array umwandeln, das für weitere Datenmanipulation oder Speicherung verwendet werden kann.

Wie erhalte ich die Koordinaten und Abmessungen eines Barcodes in einem Bild?

IronBarcode bietet die Eigenschaften Koordinaten, Höhe und Breite innerhalb des `BarcodeResult`-Objekts, sodass Sie Details zur Position und Dimensionen eines Barcodes in einem Bild erhalten können.

Wie kann ich mehrseitige Dokumente mit Barcode-Daten verwalten?

Die `PageNumber`- und `PageOrientation`-Eigenschaften in IronBarcode unterstützen das Verwalten mehrseitiger Dokumente, indem sie identifizieren, wo sich jeder Barcode befindet und welche Orientierung er hat, was eine effiziente Dokumentverarbeitung erleichtert.

Was ist der Unterschied zwischen den `text`- und `value`-Eigenschaften für Barcodes in C#?

In IronBarcode geben sowohl `text` als auch `value` dieselbe Ausgabe für einen Barcode zurück. Sie können die `BarcodeResult.ToString()`-Methode verwenden, um ähnliche Ergebnisse zu erzielen.

Gibt es Einschränkungen bei der Barcode-Dreherkennung mit IronBarcode?

Ja, IronBarcode kann Barcodes lesen, die in Winkeln von 0, 90, 180 und 270 Grad gedreht sind. Andere Drehwinkel werden für die Barcode-Erkennung nicht unterstützt.

Hairil Hasyimi Bin Omar
Software Ingenieur
Wie alle großen Ingenieure ist Hairil ein leidenschaftlicher Lerner. Er verfeinert sein Wissen in C#, Python und Java und setzt dieses Wissen ein, um Teammitgliedern bei Iron Software Mehrwert zu bieten. HAiril trat dem Iron Software-Team von der Universiti Teknologi MARA in Malaysia bei, wo er mit einem Bachelor ...
Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,935,276 | Version: 2025.11 gerade veröffentlicht