Wie lese ich Barcodes aus mehrseitigen GIF- und TIFF-Bildern in C#?

Lesen von BarCodes aus mehrseitigen GIF- und TIFF-Dateien in C#

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

IronBarcode verarbeitet automatisch mehrseitige TIFF- und animierte GIF-Dateien ohne manuelle Rahmentrennung und verwendet einen einzigen BarcodeReader.Read-Methodenaufruf, um alle Barcodes aus jedem Rahmen oder jeder Seite der Bilddatei zu extrahieren.

als-Überschrift:2(Schnellstart: Barcodes vollständig aus mehrseitigen TIFF- oder GIF-Dateien lesen)

IronBarcode lädt mehrseitige TIFF- oder animierte GIF-Dateien und extrahiert alle Barcodes mit einem Methodenaufruf. Kein Frame-Splitting oder manuelle Vorverarbeitung - übergeben Sie den Dateipfad an BarcodeReader.Read für schnelle Ergebnisse.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronBarcode mit dem NuGet-Paketmanager.

    PM > Install-Package BarCode

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    IronBarCode.BarcodeResults results = IronBarCode.BarcodeReader.Read("multiPageImage.tiff");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronBarcode in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie lese ich Multiframe GIF- und TIFF-Bilder?

Das Lesen mehrrahmiger GIF- und TIFF-Bilder mit IronBarcode ist genauso einfach wie das Lesen eines einzelnen Bildes, da IronBarcode mehrseitige Bilddateien in die BarcodeReader.Read-Methode problemlos akzeptiert. Sie müssen keine Bilder vorbereiten, da die gesamte Verarbeitung in der Bibliothek enthalten ist. Einen umfassenden Überblick über die Möglichkeiten von IronBarcode finden Sie auf unserer Funktionsseite.

Warum verarbeitet IronBarcode automatisch Bilder mit mehreren Rahmen?

IronBarcode verarbeitet automatisch Bilder mit mehreren Rahmen, um Ihren Arbeitsablauf zu vereinfachen. Herkömmliche Barcode-Lesebibliotheken erfordern oft das Extrahieren einzelner Bilder aus GIF-Animationen oder das Trennen von Seiten aus TIFF-Dateien vor der Verarbeitung. Dies führt zu unnötiger Komplexität und potenziellen Fehlerquellen. Mit der intelligenten Rahmenerkennung von IronBarcode entfällt dieser Aufwand, da die Bildstruktur intern analysiert wird und die einzelnen Rahmen oder Seiten automatisch durchlaufen werden. Dieser Ansatz sorgt für konsistente Ergebnisse unabhängig von der Anzahl der Frames und gewährleistet gleichzeitig eine hohe Leistung durch optimierte Speicherverwaltung.

Das folgende Code-Beispiel demonstriert das Lesen von mehrseitigen GIF- und TIFF-Dateien:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-read-tif.cs
using IronBarCode;
using System;

// Read barcode from TIF image
BarcodeResults results = BarcodeReader.Read("sample.tif");

// Output the barcodes value to console
foreach (var result in results)
{
    Console.WriteLine(result.Value);
}
$vbLabelText   $csharpLabel

Welche Bildformate werden für das Lesen mehrerer Seiten unterstützt?

IronBarcodes mehrseitige Lesefähigkeiten gehen über GIF- und TIFF-Formate hinaus. Die Bibliothek unterstützt alle Standard-Bildformate einschließlich JPEG, PNG, BMP und SVG für einseitige Bilder. Speziell für die Unterstützung von mehreren Seiten sind TIFF und animierte GIF die wichtigsten Formate. TIFF ist besonders vielseitig, da es mehrere Bilder in voller Auflösung und mit verschiedenen Komprimierungsmethoden speichert, was es ideal für das Scannen von Dokumenten macht. Animierte GIFs sind zwar auf 256 Farben beschränkt, eignen sich aber hervorragend zur Speicherung mehrerer Barcode-Frames in einem kompakten, webfreundlichen Format. Für spezielle Anforderungen können Sie auch Strichcodes aus PDF-Dokumenten lesen, die oft mehrere Seiten mit eingebetteten Strichcodes enthalten.

Wann sollte ich Multiframe-Bilder zum Scannen von Barcodes verwenden?

Multiframe-Bilder sind ideal für verschiedene Geschäftsszenarien. Dokumentenmanagementsysteme verwenden standardmäßig mehrseitige TIFF-Dateien zur Speicherung gescannter Rechnungen, Versanddokumente oder Formulare, bei denen jede Seite unterschiedliche Barcodes enthalten kann. Fertigungs- und Logistikunternehmen verwenden häufig animierte GIFs, um visuelle Arbeitsabläufe zu erstellen, die mehrere Barcode-Zustände oder sequenzielle Scananweisungen zeigen. Stapelverarbeitungsanwendungen profitieren von Multiframe-Formaten, da sie den Aufwand für die Dateiverwaltung verringern - statt Hunderte einzelner Bilddateien zu verarbeiten, arbeiten Sie mit einer einzigen Multiframe-Datei. Außerdem können Multiframe-Formate bei der Implementierung von Barcode-Lesen aus Streams die Speicherzuweisung erheblich reduzieren und die Leistung verbessern.

Wie konvertiere ich Bilder in GIF und TIFF?

Erfahren Sie, wie Sie mit unserer Open-Source-Bibliothek IronDrawing Bilder in mehrseitige TIFF- und GIF-Dateien konvertieren können. Das folgende Codebeispiel zeigt, wie man mehrseitige GIF- oder TIFF-Bilder erzeugt. Diese Fähigkeit ist besonders nützlich, wenn mehrere Barcode-Bilder aus verschiedenen Quellen zur effizienten Verarbeitung in einer einzigen Datei zusammengefasst werden.

Wie werden Multiframe-TIFF-Dateien erstellt?

Bei der Erstellung von Multiframe-TIFF-Dateien werden mehrere Bildquellen in einem einzigen TIFF-Container kombiniert. Beginnen Sie damit, einzelne Bilder als Bitmap-Objekte in den Speicher zu laden. Die Klasse AnyBitmap von IronDrawing bietet eine einheitliche Schnittstelle für den Umgang mit verschiedenen Bildformaten, verwaltet automatisch Formatkonvertierungen und gewährleistet Kompatibilität. Bei der Erstellung des Multiframe-TIFFs optimiert die Bibliothek die Komprimierungseinstellungen, um ein Gleichgewicht zwischen Dateigröße und Bildqualität herzustellen, was für die Lesbarkeit von Barcodes entscheidend ist.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-create-tiff-gif.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Collections.Generic;

// Import images
List<AnyBitmap> images = new List<AnyBitmap>()
{
    AnyBitmap.FromFile("image1.png"),
    AnyBitmap.FromFile("image2.png"),
    AnyBitmap.FromFile("image3.png"),
    AnyBitmap.FromFile("image4.jpg"),
    AnyBitmap.FromFile("image5.jpg")
};

// Convert TIFF from images
AnyBitmap tiffImage = AnyBitmap.CreateMultiFrameTiff(images);

// Export TIFF
tiffImage.SaveAs("multiframetiff.tiff");

// Convert GIF from images
AnyBitmap gifImage = AnyBitmap.CreateMultiFrameGif(images);

// Export GIF
gifImage.SaveAs("multiframegif1.gif");
$vbLabelText   $csharpLabel

Im obigen Codeschnipsel gruppieren wir zunächst Bilddateien, indem wir sie in eine Liste von AnyBitmap-Objekten importieren. Verwenden Sie diese Liste als Parameter, wenn Sie die Methoden AnyBitmap.CreateMultiFrameTiff und AnyBitmap.CreateMultiFrameGif aufrufen, um die Multipage-TIFF- bzw. Multipage-GIF-Objekte zu erhalten.

Wie unterscheiden sich die Formate GIF und TIFF für die Speicherung von Strichcodes?

Sowohl mehrseitige GIF- als auch TIFF-Dateien bieten die Möglichkeit, Bilder in einer einzigen Datei zusammenzufassen, aber sie unterscheiden sich erheblich:

Aspekt Mehrseitiges GIF Mehrseitiges TIFF
Komprimierung GIF-Bilder werden verlustfrei komprimiert, was bedeutet, dass bei der Komprimierung keine Bilddaten verloren gehen. Dies führt zu relativ größeren Dateigrößen im Vergleich zu Formaten mit verlustbehafteter Komprimierung. TIFF-Dateien können verschiedene Komprimierungsmethoden verwenden, einschließlich verlustfreier Komprimierung (wie LZW) und verlustbehafteter Komprimierung (wie JPEG). Dank dieser Flexibilität können TIFF-Dateien ein Gleichgewicht zwischen Dateigröße und Bildqualität herstellen.
Farbtiefe GIF unterstützt bis zu 256 Farben (8-Bit-Farbtiefe), was im Vergleich zu anderen Formaten begrenzt ist. Diese begrenzte Farbpalette kann zu einem Verlust an Details und Farbgenauigkeit führen, insbesondere bei Fotos und Bildern mit Farbverläufen TIFF unterstützt verschiedene Farbtiefen, darunter 1-Bit (binär), 8-Bit (256 Farben), 24-Bit (Echtfarbe) und mehr. Diese Flexibilität ermöglicht es TIFF, Bilder mit unterschiedlichen Farbdetails zu speichern.
Transparenz GIF unterstützt binäre Transparenz, was bedeutet, dass eine einzelne Farbe vollständig transparent sein kann, während die restlichen Farben vollständig undurchsichtig sind. Dieser Mangel an partieller Transparenz kann manchmal zu gezackten Rändern in Bildern mit weichen Übergängen führen. TIFF unterstützt mehrere Formen von Transparenz, einschließlich binärer Transparenz (ähnlich wie GIF) und Alphakanal-Transparenz. Die Alphakanal-Transparenz ermöglicht weiche Übergänge und halbtransparente Pixel, die für hochwertige Transparenzeffekte sorgen.
Animation GIF unterstützt einfache Animationen, indem mehrere Frames in einer einzigen Datei kombiniert werden. Jedes Bild kann seine eigene Zeitverzögerung haben, wodurch eine grundlegende Form der Animation entsteht. GIF-Animationen werden im Web weitgehend unterstützt. TIFF ist nicht in erster Linie für Animationen gedacht. Es kann zwar mehrere Bilder speichern, verfügt aber nicht über eine integrierte Animationsunterstützung wie GIF. Jede Seite in einer mehrseitigen TIFF-Datei ist in der Regel ein separates Bild und nicht ein Frame in einer Animationssequenz.

Welches Format sollte ich für mehrseitige Barcode-Bilder wählen?

Wählen Sie je nach Anwendungsfall zwischen GIF und TIFF. Wählen Sie TIFF, wenn Sie mit hochauflösenden Barcode-Bildern arbeiten, bei denen es auf die genaue Erhaltung von Details ankommt, wie z. B. bei der Dokumentenarchivierung oder bei professionellen Scananwendungen. Da TIFF verschiedene Komprimierungsmethoden und Farbtiefen unterstützt, ist es ideal für die Aufrechterhaltung der Barcodequalität bei verschiedenen Arten von Barcodes, einschließlich solcher mit feinen Details wie 2D Data Matrix Codes.

Wählen Sie GIF, wenn die Dateigröße ein Problem darstellt und Ihre Barcodes einfache lineare Formate wie Code 39 oder Code 128 sind. Die weit verbreitete Webkompatibilität von GIF macht es für Online-Anwendungen geeignet, bei denen die Benutzer eine Vorschau der Barcode-Sequenzen sehen können. Vermeiden Sie jedoch GIF für komplexe QR-Codes oder Barcodes mit Farbverläufen, da die 256-Farben-Beschränkung die Lesbarkeit beeinträchtigen kann.

Was ist bei der Dateigröße zu beachten?

Die Dateigröße variiert je nach Format erheblich und wirkt sich auf die Speicher-, Übertragungs- und Verarbeitungsgeschwindigkeit aus. TIFF-Dateien mit verlustfreier Komprimierung haben in der Regel eine Größe von 10-50 KB pro Barcode-Bild bei 300 DPI und sind für die Archivierung geeignet. Mit der JPEG-Komprimierung im TIFF-Format kann die Größe um 70-80 % reduziert werden, ohne dass die Lesbarkeit der Barcodes beeinträchtigt wird. GIF-Dateien sind in der Regel kleiner, im Durchschnitt 5-15 KB pro Frame für Standard BarCodes, aufgrund ihrer begrenzten Farbpalette. Bei der Implementierung von Barcodelesern mit spezifischen Leistungsanforderungen ist zu berücksichtigen, dass kleinere Dateien schneller verarbeitet werden, aber in Grenzfällen zu Lasten der Genauigkeit gehen können.

Wie kann ich die erweiterten BarCode-Leseoptionen konfigurieren?

Obwohl IronBarcode sofort einsatzbereit ist, müssen bei einigen Bildern möglicherweise die BarcodeReaderOptions-Klasse konfiguriert werden, um genaues und schnelles Barcode-Lesen zu erreichen. Weitere Informationen zu dieser Klasse finden Sie im Artikel "BarCodes aus Bilddateien lesen (jpg, png, gif, tiff, svg, bmp)". Eine ausführliche API-Dokumentation finden Sie in der BarcodeReaderOptions-Referenz.

Wann sollte ich Bildfilter für eine bessere Genauigkeit verwenden?

Bildfilter sind unverzichtbar, wenn es um suboptimale Bildqualität geht - ein häufiges Szenario bei Dateien mit mehreren Einzelbildern, die von Bild zu Bild unterschiedliche Qualität aufweisen können. Wenden Sie Filter an, wenn Barcodes aufgrund von Scanner-Beschränkungen verschwommen erscheinen, aufgrund schlechter Lichtverhältnisse einen geringen Kontrast aufweisen oder Rauschen durch Kompressionsartefakte enthalten. Die Bildkorrekturfunktionen in IronBarcode umfassen adaptive Schwellenwerte für unterschiedliche Lichtverhältnisse, Schärfungsfilter für Bewegungsunschärfe und Kontrastverbesserung für verblasste Drucke. Bei Dateien mit mehreren Frames sind Filter besonders wertvoll, da sie Qualitätsschwankungen zwischen Frames ohne manuelle Eingriffe ausgleichen.

Der folgende Codeschnipsel zeigt die Konfiguration von Eigenschaften in der Klasse BarcodeReaderOptions:

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-advance.cs
using IronBarCode;
using System;

// Configure filters
ImageFilterCollection filters = new ImageFilterCollection()
{
    new SharpenFilter(3.5f),
    new ContrastFilter(2)
};

// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.QRCode,
    ImageFilters = filters,
    ExpectMultipleBarcodes = true,
    Speed = ReadingSpeed.Balanced
};

// Read barcode from TIF image
BarcodeResults results = BarcodeReader.Read("sample.tif", options);

// Output the barcodes value to console
foreach (var result in results)
{
    Console.WriteLine(result.Value);
}
$vbLabelText   $csharpLabel

Welche Leistungseinstellungen sollte ich für mehrseitige Dateien verwenden?

Die Leistungsoptimierung für mehrseitige Dateien erfordert ein ausgewogenes Verhältnis zwischen Geschwindigkeit und Genauigkeit, je nach Ihren Anforderungen. Für die Verarbeitung großer Mengen von Barcodes, bei denen es auf Geschwindigkeit ankommt, sollten Sie ReadingSpeed.Faster oder ReadingSpeed.Fastest verwenden, die die Scan-Gründlichkeit verringern, aber den Durchsatz deutlich erhöhen - ideal für gut gedruckte Barcodes in kontrollierten Umgebungen. Für geschäftskritische Anwendungen, bei denen es auf Genauigkeit ankommt, gewährleistet ReadingSpeed.Detailed eine maximale Erkennungsrate auf Kosten der Verarbeitungszeit. Die Einstellung ReadingSpeed.Balanced bietet einen optimalen Mittelweg für die meisten Geschäftsanwendungen. Bei der Verarbeitung mehrseitiger Dateien sollte die Implementierung von asynchronen Lesemustern in Betracht gezogen werden, um Frames parallel zu verarbeiten und so den Gesamtdurchsatz drastisch zu erhöhen.

Wie optimiere ich Lesegeschwindigkeit und Genauigkeit?

Die Optimierung des Kompromisses zwischen Geschwindigkeit und Genauigkeit erfordert mehrere strategische Konfigurationen. Geben Sie zunächst die erwarteten Barcodetypen mit ExpectBarcodeTypes an, um unnötige Formatprüfungen zu vermeiden - allein dadurch kann die Geschwindigkeit um 40-60 % erhöht werden. Zweitens: Verwenden Sie Beschneidungsbereiche, wenn BarCodes in allen Frames an gleichbleibenden Stellen erscheinen, um den Suchbereich zu verkleinern. Drittens: Passen Sie die Eigenschaft MaxParallelThreads an Ihre CPU-Kapazitäten an, um eine optimale parallele Verarbeitung von Frames zu erreichen. Um die Genauigkeit zu optimieren, aktivieren Sie ExpectMultipleBarcodes, wenn Frames mehrere Barcodes enthalten könnten, und wenden Sie geeignete Bildfilter auf der Grundlage Ihrer Bildeigenschaften an. Die ML-Vertrauensschwellenfunktion hilft außerdem, falsch positive Ergebnisse in komplexen Bildern herauszufiltern.

Was sind gängige Schritte zur Fehlerbehebung bei Lesefehlern?

Bei Lesefehlern mit Multiframe-Dateien sollten Sie diesen systematischen Ansatz verfolgen. Überprüfen Sie zunächst die Qualität der einzelnen Frames, indem Sie einzelne Frames extrahieren und testen - wenn einzelne Frames nicht funktionieren, ist das Problem nicht auf mehrere Frames zurückzuführen. Prüfen Sie auf übliche Erkennungsprobleme wie unzureichende Ruhezonen, schiefe Barcodes oder beschädigte Symbole. Aktivieren Sie den TryHarder-Modus für schwierige Barcodes, obwohl dies die Verarbeitungszeit erhöht. Bei hartnäckigen Problemen sollten Sie eine Bildausrichtungskorrektur implementieren, da gedrehte Barcodes eine häufige Fehlerursache sind. Überlegen Sie sich, ob Sie die Auflösung anpassen wollen - Barcodes lassen sich in der Regel am besten bei 200-300 DPI lesen, wobei der Ertrag über 400 DPI abnimmt. Wenn Probleme mit bestimmten Barcode-Typen auftreten, konsultieren Sie die Dokumentation der unterstützten Formate, um die Kompatibilität sicherzustellen.

Obwohl das Setzen des BarcodeReaderOptions-Objekts für die meisten Anwendungsfälle optional ist, hilft es, das Beste aus IronBarcode herauszuholen, wenn Barcodes aus mehrseitigen GIF- und TIFF-Bilddateien gelesen werden. Beginnen Sie in Produktionsumgebungen mit den Standardeinstellungen und optimieren Sie diese schrittweise auf der Grundlage Ihrer spezifischen Leistungskennzahlen und Genauigkeitsanforderungen.

Häufig gestellte Fragen

Wie lese ich Barcodes aus mehrseitigen TIFF-Dateien in C#?

Mit IronBarcode können Sie Barcodes aus mehrseitigen TIFF-Dateien mit einem einzigen Methodenaufruf lesen: BarcodeReader.Read("multiPageImage.tiff"). IronBarcode verarbeitet automatisch jede Seite der TIFF-Datei, ohne dass eine manuelle Rahmentrennung oder Vorverarbeitung erforderlich ist.

Kann ich BarCodes aus animierten GIF-Dateien extrahieren?

Ja, IronBarcode extrahiert automatisch Barcodes aus allen Frames in animierten GIF-Dateien. Übergeben Sie einfach den Pfad der GIF-Datei an die BarcodeReader.Read-Methode, und IronBarcode analysiert intern jeden Frame, um alle vorhandenen Barcodes zu erkennen und zu lesen.

Muss ich Rahmen manuell aufteilen, bevor ich Strichcodes aus mehrseitigen Bildern lese?

Nein, IronBarcode macht die manuelle Aufteilung von Frames überflüssig. Die intelligente Rahmenerkennung der Bibliothek analysiert automatisch die Bildstruktur und iteriert intern durch jeden Rahmen oder jede Seite, was Ihren Arbeitsablauf vereinfacht und potenzielle Fehlerquellen reduziert.

Welche Bildformate unterstützen das Lesen mehrseitiger Barcodes?

IronBarcode unterstützt das Lesen mehrseitiger Barcodes vor allem für TIFF- und animierte GIF-Formate. Während die Bibliothek auch einseitige Formate wie JPEG, PNG, BMP und SVG verarbeitet, sind TIFF und GIF speziell für die mehrseitige Verarbeitung mit automatischer Rahmenerkennung optimiert.

Wie viele Schritte sind erforderlich, um Barcodes aus mehrseitigen Bildern zu lesen?

IronBarcode erfordert nur 5 einfache Schritte: Laden Sie die C#-Bibliothek herunter, bereiten Sie Ihre GIF- und TIFF-Bilder vor, übergeben Sie sie an die Read-Methode, wenden Sie optional Bildfilter für eine bessere Genauigkeit an und konvertieren Sie die Bilder bei Bedarf in das Mehrbildformat.

Warum eignet sich das TIFF-Format besonders gut für das Scannen mehrseitiger Barcodes?

Das TIFF-Format ist ideal für Dokumentenscanszenarien mit IronBarcode, da es mehrere Bilder in voller Auflösung mit verschiedenen Komprimierungsmethoden speichert. Dank dieser Vielseitigkeit eignet sich TIFF besonders gut für die Verarbeitung gescannter Dokumente, die Strichcodes über mehrere Seiten enthalten.

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,035,202 | Version: 2025.12 gerade veröffentlicht