Wie man Barcodes aus Streams in C# liest

Lesen von BarCodes aus Datenströmen mit C

This article was translated from English: Does it need improvement?
Translated
View the article in English
IronBarcode liest Barcodes direkt aus `MemoryStream`-Objekten in .NET-Anwendungen, wodurch die Notwendigkeit entfällt, Streams zunächst auf der Festplatte zu speichern. Dies ermöglicht eine effiziente Verarbeitung von Barcodes aus Bild- und PDF-Dokumentenströmen, die im Speicher abgelegt sind. `MemoryStream` ist eine Klasse des .NET Frameworks, die aus speichergespeicherten Streams liest und in diese schreibt. Es manipuliert Daten ohne physische Dateien und speichert sie stattdessen im Speicher. Dieser Ansatz eignet sich gut für Webanwendungen, APIs oder Szenarien, in denen Sie Barcodedaten als Byte-Arrays erhalten oder Bilder verarbeiten müssen, ohne temporäre Dateien zu erstellen. Neben [Lesen von Barcodes aus Bilddateien](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-images/) oder [PDF-Dateien](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-pdf/) liest IronBarcode auch Barcodes aus Streams. Die Bibliothek akzeptiert PDF-Dokumente oder Bildströme als Eingabe und gibt die Ergebnisse des Barcode-Lesens aus. Diese Fähigkeit eignet sich für die Verarbeitung von Daten aus Datenbanken, Web-Uploads oder Memory-Cache-Inhalten. *as-heading:2(Quickstart: BarCode direkt aus dem Bildstrom lesen)* Verwenden Sie zwei Zeilen Code mit IronBarcode, um Barcodes aus einem beliebigen Bildstrom zu lesen - ohne dass die Festplatte beschrieben werden muss. Dieses Beispiel demonstriert das Lesen von Barcodes in .NET. ```cs :title=Easily Read Barcodes from Streams var result = IronBarCode.BarcodeReader.Read(myImageStream); Console.WriteLine(result[0].Text); ``` ## Wie lese ich BarCodes aus Bildströmen? ### Warum Memory Streams anstelle von Dateien verwenden? Memory Streams bieten mehrere Vorteile gegenüber dateibasierten Operationen. Sie eliminieren den Festplatten-E/A-Overhead und machen Anwendungen schneller. Sie erhöhen die Sicherheit, da die sensiblen Barcodedaten nicht auf die Festplatte gelangen. Sie eignen sich auch für Cloud-Umgebungen, in denen der Festplattenzugriff begrenzt oder teuer ist. In Kombination mit den [Async- und Multithreading-Funktionen](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/) von IronBarcode können Sie mehrere Datenströme gleichzeitig verarbeiten und so maximale Leistung erzielen. Dieser Abschnitt zeigt, wie IronBarcode verwendet wird, um einen Bildstrom und mehrere Bildströme zu lesen, die in einer `Liste` gespeichert sind. Der folgende Code enthält Kommentare, um den Prozess zu erklären: ### Welche Arten von Bildformaten werden unterstützt? IronBarcode unterstützt mehrere Bildformate beim Lesen von Streams: JPEG, PNG, GIF, TIFF, BMP und SVG. Diese Flexibilität ermöglicht die Verarbeitung von Barcode-Bildern unabhängig vom Quellformat. Optimale Ergebnisse erzielen Sie, wenn Sie die [BarCode-Reader-Einstellungen](https://ironsoftware.com/csharp/barcode/examples/barcode-reader-settings-csharp/) für die Feinabstimmung des Lesevorgangs verwenden. ```csharp using IronBarCode; using System; using System.Collections.Generic; using System.IO; class BarcodeFromImageStream { static void Main(string[] args) { // Create a list of MemoryStreams to store image streams List imageStreams = new List { // Example of adding an existing MemoryStream object to the list new MemoryStream(File.ReadAllBytes("example1.png")), new MemoryStream(File.ReadAllBytes("example2.png")) }; :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-1.cs ``` ### Wie behandle ich mehrere Bildströme? Der obige Code zeigt, wie IronBarcode ein einzelnes `MemoryStream`-Objekt oder eine Liste von `MemoryStream`-Objekten in der Methode `BarcodeReader.Read()` akzeptiert. Das Beispiel konvertiert Bilddateien in `MemoryStream`-Objekte und liest Strichcodes direkt aus den Streams. Bei der Verarbeitung mehrerer Datenströme nutzt IronBarcode seine [Lesegeschwindigkeitsoptionen](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/) effizient aus. Passen Sie die Lesegeschwindigkeit an Ihre Bedürfnisse an - ob maximale Genauigkeit oder schnellste Bearbeitungszeit. Zum [Lesen mehrerer Barcodes](https://ironsoftware.com/csharp/barcode/how-to/read-multiple-barcodes/) aus einem einzigen Datenstrom erkennt IronBarcode automatisch alle gefundenen Barcodes und gibt sie zurück. Um die Genauigkeit bei unvollkommenen oder qualitativ schlechten Bildern in Streams zu verbessern, sollten Sie vor der Verarbeitung [Bildkorrekturfilter](https://ironsoftware.com/csharp/barcode/how-to/image-correction/) anwenden. Dies verbessert die Erkennungsraten von Barcodes erheblich. ## Wie kann ich BarCodes aus PDF-Dokumentenströmen lesen? ### Warum ReadPdf() anstelle von Read() verwenden? Die Methode `ReadPdf()` ist speziell für PDF-Dokumente optimiert und bietet Vorteile gegenüber der generischen Methode `Read()`. PDF-spezifische Funktionen wie mehrseitige Dokumente, Vektorgrafiken und eingebettete Bilder werden effizient behandelt. Die Methode verarbeitet alle PDF-Seiten automatisch und kommt mit verschiedenen PDF-Formaten und Komprimierungsarten zurecht. Umfassende Funktionen finden Sie im [Tutorial zum Lesen von Strichcodes](https://ironsoftware.com/csharp/barcode/tutorials/reading-barcodes/). Dieser Abschnitt demonstriert die Verwendung von IronBarcode zum Lesen von PDF-Dokumenten als `MemoryStream`-Objekte oder Listen von PDF-Dokumentenströmen. Hier ist der Code: ### Was ist mit mehreren PDF-Dokumenten? ```csharp :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-2.cs ``` ### Wie kann ich mehrere PDF-Streams effizient verarbeiten? Das Lesen von Barcodes aus PDF-Dokumenten als `MemoryStream`-Objekte ähnelt dem Lesen von Bildern. Der Hauptunterschied ist die Methode: `BarcodeReader.ReadPdf()` behandelt speziell PDF-Dokumente. Das Beispiel verwendet IronPDF, um PDF-Dokumente in `MemoryStream`-Objekte zu konvertieren. Bei mehreren PDF-Dokumenten führen Sie alle PDFs in einem Dokumentenstrom zusammen, bevor Sie ihn an `BarcodeReader.ReadPdf()` übergeben. Dieser Ansatz ist effizienter als jede PDF-Datei einzeln zu bearbeiten und reduziert den Speicherbedarf. Konfigurieren Sie [PDF-spezifische Barcode-Leseeinstellungen](https://ironsoftware.com/csharp/barcode/examples/pdf-barcode-reader-settings-csharp/), um das Lesen Ihrer Dokumente zu optimieren. Für fortgeschrittene Szenarien können Sie bestimmte Seiten oder PDF-Regionen bearbeiten. IronBarcode ermöglicht das Festlegen von Seitenbereichen und das Ausschneiden von Regionen innerhalb von Seiten, die auf Bereiche ausgerichtet sind, in denen Barcodes erscheinen. Dies verbessert die Verarbeitungsgeschwindigkeit für große Dokumente. Bei der Verwendung von Streams in der Produktion müssen `MemoryStream`-Objekte ordnungsgemäß entsorgt werden, um Speicherlecks zu vermeiden. Die Anweisung `using` sorgt für eine automatische Entsorgung: ```csharp using (MemoryStream pdfStream = new MemoryStream(pdfBytes)) { var results = BarcodeReader.ReadPdf(pdfStream); // Process results } ``` Experimentieren Sie und passen Sie die Bibliothek an Ihre spezifischen Bedürfnisse an. Die flexible API von IronBarcode ermöglicht eine umfassende Anpassung des Leseprozesses, von der Anpassung der Erkennungsempfindlichkeit bis zur Angabe der erwarteten Barcodeformate.

Häufig gestellte Fragen

Wie lese ich Barcodes aus Streams, ohne sie vorher auf der Festplatte zu speichern?

IronBarcode ermöglicht es Ihnen, Barcodes direkt aus MemoryStream-Objekten zu lesen, ohne sie auf der Festplatte zu speichern. Übergeben Sie einfach Ihren Stream an die Methode BarcodeReader.Read(). Dieser Ansatz eliminiert den Festplatten-E/A-Overhead und ist ideal für die Verarbeitung von Bildern aus Web-Uploads, Datenbanken oder APIs.

Welche Bildformate unterstützt der Barcodeleser bei der Verarbeitung von Datenströmen?

IronBarcode unterstützt mehrere Bildformate beim Lesen von Streams, darunter JPEG, PNG, GIF, TIFF, BMP und SVG. Diese Flexibilität ermöglicht es Ihnen, Barcode-Bilder aus verschiedenen Quellen ohne Formatkonvertierung zu verarbeiten.

Kann ich mehrere Barcode-Bildströme gleichzeitig verarbeiten?

Ja, IronBarcode unterstützt Async- und Multithreading-Funktionen, so dass Sie mehrere Barcode-Datenströme gleichzeitig verarbeiten können, um maximale Leistung zu erzielen. Dies ist besonders nützlich, wenn Sie große Mengen an Barcode-Lesevorgängen aus dem Speicher verarbeiten.

Welche Vorteile hat die Verwendung von Memory Streams gegenüber dem Lesen von Barcodes auf Dateibasis?

Die Speicherstromverarbeitung mit IronBarcode bietet eine schnellere Leistung durch den Wegfall des Festplatten-E/A-Overheads, eine höhere Sicherheit, da sensible Daten nie den Festplattenspeicher berühren, und eine bessere Kompatibilität mit Cloud-Umgebungen, in denen der Festplattenzugriff begrenzt oder teuer sein kann.

Wie kann ich Barcodes aus PDF-Dokumentenströmen lesen?

IronBarcode kann Barcodes sowohl aus Bild- als auch aus PDF-Dokumentenströmen lesen. Übergeben Sie einfach Ihren PDF-MemoryStream an die Methode BarcodeReader.Read() und IronBarcode extrahiert und dekodiert alle in den PDF-Seiten enthaltenen Barcodes.

Ist es möglich, den Barcode-Leseprozess bei der Arbeit mit Streams zu optimieren?

Ja, IronBarcode bietet anpassbare Barcode-Leseeinstellungen, mit denen Sie den Leseprozess für Ihren speziellen Anwendungsfall optimieren können, unabhängig davon, ob Sie einzelne oder mehrere in Sammlungen gespeicherte Ströme verarbeiten.

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, um Iron Software-Teammitgliedern Mehrwert zu bieten. Hairil kam von der Universiti Teknologi MARA in Malaysia, wo er seinen Bachelor in Chemie- und Verfahrenstechnik abschloss.
Bereit anzufangen?
Nuget Downloads 2,002,059 | Version: 2025.12 gerade veröffentlicht