Wie man Multi FramePage GIFs und TIFFs in C# | IronOcr liest

Lesen von Multi-Frame/Page TIFFs & GIFs in C#

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

IronOCR ermöglicht das Lesen von Text aus Multi-Frame-TIFF- und GIF-Dateien in C# mit der OcrImageInput-Klasse und einem einzigen Read-Methodenaufruf, der sowohl ein- als auch mehrseitige Dokumente ohne komplexe Konfiguration unterstützt.

TIFF (Tagged Image File Format) ist ein Format für hochwertige Bilder. Sie unterstützt eine verlustfreie Komprimierung und eignet sich daher für gescannte Dokumente und professionelle Fotografie.

GIF (Graphics Interchange Format) wird für einfache Webbilder und Animationen verwendet. Sie unterstützt sowohl verlustfreie als auch verlustbehaftete Komprimierung und kann Animationen in einer einzigen Datei enthalten.

als-Überschrift:2(Schnellstart: OCR mit mehrseitigen TIFF- oder GIF-Dateien)

Lesen Sie Text aus mehrseitigen TIFFs oder animierten GIFs mit IronOCR unter Verwendung von OcrImageInput und einem Read-Aufruf.

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

  1. Installieren Sie IronOCR mit dem NuGet-Paketmanager.

    PM > Install-Package IronOcr

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

    using IronOcr;
    var result = new IronTesseract().Read(new OcrImageInput("Potter.tiff"));
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

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


Wie lese ich TIFF-Dateien mit einem oder mehreren Frames?

Um OCR durchzuführen, instanziieren Sie die IronTesseract Klasse. Verwenden Sie die Anweisung using, um das Objekt OcrImageInput zu erstellen. Dieser Konstruktor unterstützt sowohl Einzelframes als auch mehrseitige TIFF- und TIF-Formate. Wenden Sie die Methode Lesen an, um die OCR auf die importierte TIFF-Datei anzuwenden. Einzelheiten über die Klasse OcrInput finden Sie im umfassenden OcrInput-Klassenhandbuch.

:path=/static-assets/ocr/content-code-examples/how-to/input-tiff-gif-read-tiff.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Import TIFF/TIF
using var imageInput = new OcrImageInput("Potter.tiff");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Import TIFF/TIF
Private imageInput = New OcrImageInput("Potter.tiff")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel
Windows Photo Viewer und Visual Studio zeigen den Inhalt von Dokumenten - nicht die Demo zur TIFF-Verarbeitung

Warum verarbeitet IronOCR automatisch Multi-Frame TIFFs?

IronOCR erkennt und verarbeitet automatisch alle Bilder in einer TIFF-Datei. Beim Laden eines mehrseitigen TIFF-Dokuments durchläuft die Bibliothek jeden Rahmen, wendet OCR auf jede Seite an und fasst die Ergebnisse in einem einzigen OcrResult-Objekt zusammen. Durch die automatische Bearbeitung entfällt die komplexe Logik der Frame-by-Frame-Verarbeitung. Beispiele für mehrseitige TIFF-Dateien finden Sie in unserem multipage TIFF OCR tutorial.

Für leistungskritische Anwendungen sollten Sie eine schnelle OCR-Konfiguration implementieren, um die Verarbeitungsgeschwindigkeit zu optimieren. Die Multithreaded Tesseract OCR-Funktionen der Bibliothek gewährleisten eine effiziente Stapelverarbeitung.

Was passiert beim Lesen mehrseitiger TIFF-Dokumente?

Bei der Verarbeitung mehrseitiger TIFF-Dokumente muss IronOCR:

  1. Lädt alle Frames effizient in den Speicher
  2. Wendet Vorverarbeitung auf jeden Frame an, falls konfiguriert
  3. Durchführt OCR auf Seiten der Reihe nach
  4. Zusammenfassung der Ergebnisse unter Beibehaltung der Seitenreihenfolge

Zugriff auf einzelne Seitenergebnisse:

using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

// Import multi-page TIFF
using var imageInput = new OcrImageInput("multipage-document.tiff");

// Perform OCR
OcrResult result = ocrTesseract.Read(imageInput);

// Access results by page
foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    Console.WriteLine(page.Text);
    Console.WriteLine("---");
}
using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

// Import multi-page TIFF
using var imageInput = new OcrImageInput("multipage-document.tiff");

// Perform OCR
OcrResult result = ocrTesseract.Read(imageInput);

// Access results by page
foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    Console.WriteLine(page.Text);
    Console.WriteLine("---");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Implementieren Sie für lange Operationen ein Abbruch-Token für die Möglichkeit des Abbruchs.

Wie kann ich einzelne TIFF-Frames separat verarbeiten?

Verarbeiten Sie Frames einzeln, um Speicherplatz zu sparen oder um verschiedene Bildkorrekturfilter auf bestimmte Seiten anzuwenden:

using IronOcr;
using System.Drawing;

// Configure OCR for individual frame processing
IronTesseract ocrTesseract = new IronTesseract();

// Load and split TIFF frames
using var multiFrameInput = new OcrImageInput("document.tiff");

// Process specific pages (0-indexed)
var pageIndices = new[] { 0, 2, 4 }; // Process pages 1, 3, and 5 only

foreach (int pageIndex in pageIndices)
{
    using var pageInput = new OcrImageInput("document.tiff", PageIndices: new[] { pageIndex });

    // Apply page-specific preprocessing if needed
    pageInput.DeNoise();
    pageInput.Deskew();

    var pageResult = ocrTesseract.Read(pageInput);
    Console.WriteLine($"Page {pageIndex + 1} text: {pageResult.Text}");
}
using IronOcr;
using System.Drawing;

// Configure OCR for individual frame processing
IronTesseract ocrTesseract = new IronTesseract();

// Load and split TIFF frames
using var multiFrameInput = new OcrImageInput("document.tiff");

// Process specific pages (0-indexed)
var pageIndices = new[] { 0, 2, 4 }; // Process pages 1, 3, and 5 only

foreach (int pageIndex in pageIndices)
{
    using var pageInput = new OcrImageInput("document.tiff", PageIndices: new[] { pageIndex });

    // Apply page-specific preprocessing if needed
    pageInput.DeNoise();
    pageInput.Deskew();

    var pageResult = ocrTesseract.Read(pageInput);
    Console.WriteLine($"Page {pageIndex + 1} text: {pageResult.Text}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für die fortgeschrittene Konfiguration siehe den Tesseract detailed configuration guide.

Wie kann ich GIF-Dateien für OCR lesen?

Geben Sie beim Erstellen von OcrImageInput den Pfad der GIF-Datei an. Der Konstruktor importiert das Bild. Bei animierten GIFs extrahiert IronOCR alle Frames und verarbeitet sie als Einzelbilder.

:path=/static-assets/ocr/content-code-examples/how-to/input-tiff-gif-read-gif.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Import GIF
using var imageInput = new OcrImageInput("Potter.gif");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Import GIF
Private imageInput = New OcrImageInput("Potter.gif")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel

Für Anfänger bietet unser einfaches C# OCR Tesseract-Tutorial eine Einführung in die grundlegenden OCR-Operationen.

Warum funktioniert OCR bei animierten GIFs?

Animierte GIFs enthalten mehrere Einzelbilder. IronOCR extrahiert jeden Frame und verarbeitet ihn separat. Dies funktioniert gut für:

  • Bildschirmaufnahmen als GIFs gespeichert
  • Animierte Tutorials mit Textanweisungen
  • Mehrstufige Dokumentation im GIF-Format
  • Legacy-Systeme exportieren Berichte als GIFs

Der Text aus jedem Frame wird erfasst und chronologisch geordnet. Bei Bildern mit Ausrichtungsproblemen kann IronOCR die Bildausrichtung automatisch korrigieren.

Wann sollte ich das GIF-Format für OCR verwenden?

GIFs haben eine begrenzte Farbpalette (256 Farben), sind aber weit verbreitet in:

  1. Webinhalte: Online-Tutorials und Dokumentationen
  2. Legacy-Exporte: Ältere Anwendungen im GIF-Format
  3. Bildschirmaufnahmen: Screenshot-Tools mit GIF-Standard
  4. Kleine Dateigrößen: Wenn der Speicherplatz begrenzt ist

Die besten Ergebnisse erzielen Sie, wenn Sie GIFs mit IronOcrs DPI-Einstellungen optimieren. Wenden Sie OCR-Bildoptimierungsfilter an, um die Erkennung zu verbessern.

Was sind häufige Probleme mit GIF OCR?

GIF-Dateien stellen eine Herausforderung dar:

  1. Farbeinschränkungen: Die Begrenzung auf 256 Farben beeinträchtigt die Klarheit des Textes
  2. Komprimierungsartefakte: Dithering stört die Erkennung
  3. Niedrige Auflösung: Oft bei 72-96 DPI gespeichert

Vorverarbeitungsfilter anwenden:

using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

// Import GIF with preprocessing
using var imageInput = new OcrImageInput("low-quality.gif");

// Apply filters to improve quality
imageInput.ToGrayScale();      // Convert to grayscale
imageInput.Contrast(1.5);       // Increase contrast
imageInput.DeNoise();           // Remove noise
imageInput.EnhanceResolution(); // Upscale for better OCR

// Perform OCR with enhanced image
OcrResult result = ocrTesseract.Read(imageInput);
using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

// Import GIF with preprocessing
using var imageInput = new OcrImageInput("low-quality.gif");

// Apply filters to improve quality
imageInput.ToGrayScale();      // Convert to grayscale
imageInput.Contrast(1.5);       // Increase contrast
imageInput.DeNoise();           // Remove noise
imageInput.EnhanceResolution(); // Upscale for better OCR

// Perform OCR with enhanced image
OcrResult result = ocrTesseract.Read(imageInput);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für schwierige Bilder siehe Fixing Low-Quality Scans with Tesseract.

Wie spezifiziere ich einen Scanbereich für bessere Leistung?

Fügen Sie ein CropRectangle ein, wenn Sie OcrImageInput konstruieren, um einen bestimmten Bereich für die OCR zu definieren. Dadurch wird die Leistung bei großen Dokumenten verbessert. Siehe unseren Leitfaden zu OCR-Regionen.

:path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)

' Add image
Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output the result to console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

Warum verbessert Cropping die OCR-Leistung?

TIFF-Dokument im Photo Viewer mit Debug-Konsole, die die Ausführung des OCR-Prozesses anzeigt

Cropping verbessert die Leistung durch:

  1. Reduzierter Verarbeitungsbereich: Weniger Pixel bedeuten schnellere Ausführung
  2. Fokussierte Erkennung: OCR optimiert für bestimmte Regionen
  3. Speichereffizienz: Kleineres Arbeitsset reduziert die RAM-Nutzung
  4. Rauschunterdrückung: Schließt irrelevante Bereiche aus

Die Verarbeitung bestimmter Regionen kann 5-10 mal schneller sein als ganze Seiten. Für die Echtzeit-Überwachung implementieren Sie Fortschrittsverfolgung.

Wann sollte ich regionsspezifische OCR verwenden?

Verwenden Sie regionalspezifische OCR für:

  • Formularverarbeitung: Bestimmte Felder extrahieren
  • Kopf-/Fußzeilen: Zugriff auf Dokument-Metadaten
  • Tabellen: Fokus auf Datentabellen
  • Stapelverarbeitung: Ähnliche Dokumenten-Workflows

Beispiel für Formularfelder:

using IronOcr;
using IronSoftware.Drawing;

// Define regions for form fields
var nameFieldRegion = new Rectangle(100, 50, 300, 40);
var dateFieldRegion = new Rectangle(100, 100, 200, 40);
var amountFieldRegion = new Rectangle(100, 150, 150, 40);

// Create OCR instance
IronTesseract ocr = new IronTesseract();

// Extract from each region
using var tiffInput = new OcrImageInput("form.tiff");

// Process each field
var name = ocr.Read(new OcrImageInput("form.tiff", ContentArea: nameFieldRegion)).Text.Trim();
var date = ocr.Read(new OcrImageInput("form.tiff", ContentArea: dateFieldRegion)).Text.Trim();
var amount = ocr.Read(new OcrImageInput("form.tiff", ContentArea: amountFieldRegion)).Text.Trim();

Console.WriteLine($"Name: {name}");
Console.WriteLine($"Date: {date}");
Console.WriteLine($"Amount: {amount}");
using IronOcr;
using IronSoftware.Drawing;

// Define regions for form fields
var nameFieldRegion = new Rectangle(100, 50, 300, 40);
var dateFieldRegion = new Rectangle(100, 100, 200, 40);
var amountFieldRegion = new Rectangle(100, 150, 150, 40);

// Create OCR instance
IronTesseract ocr = new IronTesseract();

// Extract from each region
using var tiffInput = new OcrImageInput("form.tiff");

// Process each field
var name = ocr.Read(new OcrImageInput("form.tiff", ContentArea: nameFieldRegion)).Text.Trim();
var date = ocr.Read(new OcrImageInput("form.tiff", ContentArea: dateFieldRegion)).Text.Trim();
var amount = ocr.Read(new OcrImageInput("form.tiff", ContentArea: amountFieldRegion)).Text.Trim();

Console.WriteLine($"Name: {name}");
Console.WriteLine($"Date: {date}");
Console.WriteLine($"Amount: {amount}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie berechne ich den richtigen Beschnittbereich?

Berechnen Sie Beschnittrechtecke mit:

  1. Visuelle Prüfung: Bildbearbeitungsprogramme für Koordinaten verwenden
  2. Programmatische Erkennung: Nutzen Sie die Vision-Fähigkeiten von IronOCR
  3. Vorlagen: Definieren Sie einmalig Regionen für ähnliche Dokumente

Debuggen und Visualisieren mit der Funktion Texte hervorheben:

using IronOcr;
using IronSoftware.Drawing;

// Test different regions to find optimal coordinates
var testRegions = new[] 
{ 
    new Rectangle(100, 100, 200, 50), 
    new Rectangle(100, 160, 200, 50), 
    new Rectangle(100, 220, 200, 50) 
};

IronTesseract ocr = new IronTesseract();

foreach (var region in testRegions)
{
    using var input = new OcrImageInput("document.tiff", ContentArea: region);
    var result = ocr.Read(input);

    // Save highlighted region for visual verification
    result.SaveAsHighlightedImage($"region_{region.X}_{region.Y}.png");
}
using IronOcr;
using IronSoftware.Drawing;

// Test different regions to find optimal coordinates
var testRegions = new[] 
{ 
    new Rectangle(100, 100, 200, 50), 
    new Rectangle(100, 160, 200, 50), 
    new Rectangle(100, 220, 200, 50) 
};

IronTesseract ocr = new IronTesseract();

foreach (var region in testRegions)
{
    using var input = new OcrImageInput("document.tiff", ContentArea: region);
    var result = ocr.Read(input);

    // Save highlighted region for visual verification
    result.SaveAsHighlightedImage($"region_{region.X}_{region.Y}.png");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Verwenden Sie bei komplexen Dokumenten die Ergebnisobjekte von IronOCR, um Textstellen zu identifizieren und dynamische Ausschnittbereiche zu erstellen. Bei anspruchsvollen Bildern hilft der OCR-Leitfaden zur DPI-Optimierung von Bildern, eine optimale Auflösung zu erreichen.

IronOCR bietet eine optimierte API, die die Extraktion und Verarbeitung von Frames automatisch durchführt. Unabhängig davon, ob es sich um einseitige Dokumente oder komplexe Dateien mit mehreren Frames handelt, gilt für die Dokumenten-Workflows in Unternehmen die gleiche einfache Syntax.

Häufig gestellte Fragen

Wie kann ich in C# Text aus TIFF-Dateien mit mehreren Bildern extrahieren?

IronOCR bietet eine einfache Lösung für das Lesen von Multi-Frame-TIFF-Dateien unter Verwendung der OcrImageInput-Klasse. Sie instanziieren einfach IronTesseract und rufen die Read-Methode mit OcrImageInput auf, wobei Sie den Pfad zu Ihrer TIFF-Datei übergeben. Die Bibliothek erkennt und verarbeitet automatisch alle Bilder innerhalb der TIFF-Datei und fasst die Ergebnisse in einem einzigen OcrResult-Objekt zusammen.

Unterstützt die OCR-Bibliothek sowohl einseitige als auch mehrseitige TIFF-Dokumente?

Ja, IronOCR verarbeitet nahtlos sowohl Einzelbild- als auch Mehrbild-TIFF-Formate über denselben OcrImageInput-Konstruktor. Die Bibliothek iteriert automatisch durch jeden Frame in mehrseitigen Dokumenten, wendet OCR auf jede Seite an und eliminiert die Notwendigkeit einer komplexen Frame-by-Frame-Verarbeitungslogik.

Kann ich OCR für animierte GIF-Dateien durchführen?

IronOCR unterstützt das Lesen von Text aus GIF-Dateien, einschließlich animierter GIFs, unter Verwendung der gleichen OcrImageInput-Klasse, die für TIFF-Dateien verwendet wird. Die Bibliothek verarbeitet GIF-Bilder mit einem einzigen Aufruf der Read-Methode, so dass es einfach ist, Text sowohl aus statischen als auch aus animierten GIF-Formaten zu extrahieren.

Welche Komprimierungsformate werden für TIFF und GIF OCR unterstützt?

IronOCR arbeitet mit TIFF-Dateien, die eine verlustfreie Komprimierung unterstützen, und ist damit ideal für gescannte Dokumente und professionelle Fotografie. Bei GIF-Dateien verarbeitet die Bibliothek sowohl verlustfreie als auch verlustbehaftete Komprimierungsformate, einschließlich solcher mit Animationen, die in einer einzigen Datei gespeichert sind.

Wie kann ich die OCR-Leistung für große mehrseitige TIFF-Dokumente optimieren?

IronOCR bietet schnelle OCR-Konfigurationsoptionen und Multithreading-Fähigkeiten von Tesseract OCR für leistungskritische Anwendungen. Diese Funktionen gewährleisten eine effiziente Stapelverarbeitung bei der Bearbeitung großer mehrseitiger TIFF-Dokumente, wodurch die Verarbeitungszeit erheblich reduziert wird.

Kann ich bestimmte Lesebereiche in TIFF- oder GIF-Bildern definieren?

Ja, IronOCR ermöglicht es Ihnen, Lesebereiche zu definieren, indem Sie Beschneidungsbereiche innerhalb Ihrer TIFF- oder GIF-Bilder festlegen. Diese Funktion hilft dabei, die OCR-Verarbeitung auf bestimmte Teile des Bildes zu konzentrieren, was die Genauigkeit und Leistung verbessert, wenn Sie nur Text aus bestimmten Bereichen benötigen.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 5,246,844 | Version: 2025.12 gerade veröffentlicht