Comment lire des GIF et des TIFF à images multiples en C# | IronOcr

Comment lire des fichiers TIFF et GIF multi-frames/pages en C#35;

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

IronOcr permet de lire du texte à partir de fichiers TIFF et GIF multi-images en C# avec la classe OcrImageInput et un seul appel de méthode Read, prenant en charge les documents d'une ou plusieurs pages sans configuration complexe.

Le format TIFF (Tagged Image File Format) est un format pour les images de haute qualité. Il prend en charge la compression sans perte, ce qui le rend adapté aux documents numérisés et à la photographie professionnelle.

Le format GIF (Graphics Interchange Format) est utilisé pour les images et animations web simples. Il prend en charge la compression avec et sans perte et peut inclure des animations dans un seul fichier.

Démarrage rapide : OCR avec des fichiers TIFF ou GIF à plusieurs images

Lisez du texte à partir de TIFF de plusieurs pages ou de GIF animés avec IronOCR en utilisant OcrImageInput et un appel Read.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronOCR avec le gestionnaire de packages NuGet

    PM > Install-Package IronOcr

  2. Copiez et exécutez cet extrait de code.

    using IronOcr;
    var result = new IronTesseract().Read(new OcrImageInput("Potter.tiff"));
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment lire des fichiers TIFF à trame unique ou à trames multiples?

<TODO : Ajouter une image ici -->

<Description : Capture d'écran montrant le processus étape par étape -->

Pour effectuer l'OCR, instanciez la classe IronTesseract. Utilisez l'instruction using pour créer l'objet OcrImageInput. Ce constructeur prend en charge les formats TIFF et TIF à image unique et à images multiples. Appliquez la méthode Read pour effectuer l'OCR sur le fichier TIFF importé. Pour plus de détails sur la classe OcrInput, consultez le guide complet de la classe OcrInput.

: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 et Visual Studio affichant le contenu du document - pas la démo du traitement TIFF

Pourquoi IronOCR traite-t-il automatiquement les fichiers TIFF à images multiples?

IronOcr détecte et traite automatiquement tous les cadres d'un fichier TIFF. Lors du chargement d'un document TIFF multipage, la bibliothèque parcourt chaque cadre, applique l'OCR à chaque page et consolide les résultats dans un seul objet OcrResult. Ce traitement automatique élimine la logique de traitement complexe image par image. Pour des exemples de TIFF multipages, voir notre tutoriel d'OCR TIFF multipages.

Pour les applications dont les performances sont critiques, mettez en œuvre la configuration fast OCR afin d'optimiser la vitesse de traitement. Les capacités de la bibliothèque multithreaded Tesseract OCR garantissent un traitement par lots efficace.

Qu'est-ce qui se passe lors de la lecture de documents TIFF multipages?

Lors du traitement de documents TIFF multipages, IronOCR :

  1. Charge efficacement toutes les images en mémoire
  2. Applique le prétraitement à chaque image si elle est configurée
  3. Effectue l'OCR sur les pages de manière séquentielle
  4. Agroupe les résultats en maintenant l'ordre des pages

Accéder aux résultats des pages individuelles :

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

Pour les opérations de longue durée, mettez en œuvre un abort token pour les capacités d'annulation.

Comment puis-je traiter séparément des images TIFF individuelles ? Traitez les images individuellement en cas de contraintes de mémoire ou pour appliquer différents [filtres de correction d'image](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/) à des pages spécifiques : ```csharp 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}"); } ``` Pour la configuration avancée, voir le [Guide de configuration détaillé de Tesseract](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/). ## Comment lire des fichiers GIF pour l'OCR? Spécifiez le chemin du fichier GIF lorsque vous construisez `OcrImageInput`. Le constructeur importe l'image. Pour les GIF animés, IronOCR extrait toutes les images et les traite comme des images individuelles. ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-tiff-gif-read-gif.cs ``` Pour les débutants, notre [tutoriel simple C# OCR Tesseract](https://ironsoftware.com/csharp/ocr/examples/simple-csharp-ocr-tesseract/) couvre les opérations de base de l'OCR.

Pourquoi la ROC fonctionne-t-elle sur les GIF animés ? Les GIF animés contiennent plusieurs images. IronOCR extrait chaque image et les traite séparément. Ce projet fonctionne bien pour : - **Enregistrements d'écran** sauvegardés sous forme de GIFs - **Tutoriels animés** avec instructions textuelles - **Documentation en plusieurs étapes** au format GIF - **Legacy systems** exporter des rapports sous forme de GIFs Le texte de chaque image est capturé et organisé chronologiquement. Pour les images présentant des problèmes d'orientation, IronOcr peut [fixer l'orientation de l'image](https://ironsoftware.com/csharp/ocr/examples/fix-image-orientation/) automatiquement. ### Quand utiliser le format GIF pour l'OCR? Les GIF ont des palettes de couleurs limitées (256 couleurs) mais sont courants en : 1. **Contenu web** : Tutoriels et documentation en ligne 2. **Exportations Legacy** : Anciennes applications utilisant le format GIF 3. **Captures d'écran** : les outils de capture d'écran utilisent par défaut le format GIF 4. **Petite taille de fichier** : Lorsque l'espace de stockage est limité Pour de meilleurs résultats, optimisez les GIF en utilisant [les paramètres DPI d'IronOCR](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/). Appliquez [les filtres d'optimisation d'image OCR](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/) pour améliorer la reconnaissance. ### Quels sont les problèmes courants liés à l'OCR GIF? Les fichiers GIF posent des problèmes : 1. **Limitations de couleurs** : la limite de 256 couleurs affecte la clarté du texte 2. **Artéfacts de compression** : Le tramage interfère avec la reconnaissance 3. **Basse résolution** : Souvent enregistrées à 72-96 DPI Appliquer des filtres de prétraitement : ```csharp 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); ``` Pour les images difficiles, voir [réparation de scans de faible qualité avec Tesseract](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/). ## Comment spécifier une région de balayage pour de meilleures performances ? Inclure un `CropRectangle` lors de la construction de `OcrImageInput` pour définir une zone spécifique pour l'OCR. Cela permet d'améliorer les performances pour les documents volumineux. Consultez notre [guide sur les régions OCR](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/). ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs ```

Pourquoi le recadrage améliore-t-il les performances de l'OCR ?
Document TIFF dans Photo Viewer avec la console de débogage montrant l'exécution complète du processus OCR
Le recadrage améliore les performances grâce à : 1. **Zone de traitement réduite** : Moins de pixels pour une exécution plus rapide 2. **Détection ciblée** : L'OCR est optimisée pour des régions spécifiques 3. **Efficacité de la mémoire** : un ensemble de travail plus petit réduit l'utilisation de la RAM 4. **Elimination du bruit** : exclut les zones non pertinentes Le traitement de régions spécifiques peut être 5 à 10 fois plus rapide que celui de pages complètes. Pour un suivi en temps réel, mettez en place un [suivi des progrès](https://ironsoftware.com/csharp/ocr/how-to/progress-tracking/).

Quand dois-je utiliser l'OCR spécifique à une région ? Utilisez l'OCR spécifique à la région pour : - **Traitement des formulaires** : Extraction de champs spécifiques - **En-têtes/pieds de page** : Accéder aux métadonnées des documents - **Tables** : Focus sur les tableaux de données - **Traitement par lots** : flux de documents similaires Exemple pour les champs de formulaire : ```csharp 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}"); ``` ### Comment calculer le bon rectangle de recadrage? Calculer les rectangles de coupe en utilisant : 1. **Inspection visuelle** : Utiliser les éditeurs d'images pour les coordonnées 2. **Détection programmatique** : Utiliser les capacités de vision d'IronOCR 3. **Modèles** : Définir des régions une seule fois pour des documents similaires Débogage et visualisation avec [fonctionnalité de mise en évidence des textes](https://ironsoftware.com/csharp/ocr/how-to/highlight-texts-as-images/) : ```csharp 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"); } ``` Pour les documents complexes, utilisez [les objets de résultat d'IronOcr](https://ironsoftware.com/csharp/ocr/examples/results-objects/) pour identifier les emplacements du texte et créer des régions de recadrage dynamiques. Pour les images difficiles, le [guide d'optimisation DPI de l'image de l'OCR](https://ironsoftware.com/csharp/ocr/examples/ocr-image-dpi-for-tesseract/) permet d'obtenir une résolution optimale. IronOcr fournit une API rationalisée qui gère l'extraction et le traitement des trames automatiquement. Qu'il s'agisse de traiter des documents d'une seule page ou des fichiers complexes à plusieurs cadres, la même syntaxe simple s'applique aux flux de travail des documents d'entreprise.

Questions Fréquemment Posées

Comment extraire du texte à partir de fichiers TIFF multi-images en C# ?

IronOcr fournit une solution simple pour la lecture de fichiers TIFF multi-images à l'aide de la classe OcrImageInput. Il suffit d'instancier IronTesseract et d'appeler la méthode Read avec OcrImageInput, en transmettant le chemin d'accès à votre fichier TIFF. La bibliothèque détecte et traite automatiquement toutes les images du fichier TIFF, consolidant les résultats dans un seul objet OcrResult.

La bibliothèque d'OCR prend-elle en charge les documents TIFF d'une seule page et de plusieurs pages ?

Oui, IronOcr gère de manière transparente les formats TIFF à image unique et à images multiples via le même constructeur OcrImageInput. La bibliothèque parcourt automatiquement chaque image dans les documents multipages, applique l'OCR à chaque page et élimine le besoin d'une logique de traitement complexe image par image.

Puis-je effectuer une reconnaissance optique de caractères sur des fichiers GIF animés ?

IronOcr prend en charge la lecture de texte à partir de fichiers GIF, y compris les GIF animés, en utilisant la même classe OcrImageInput que celle utilisée pour les fichiers TIFF. La bibliothèque traite les images GIF avec un seul appel à la méthode Read, ce qui facilite l'extraction de texte à partir des formats GIF statiques et animés.

Quels sont les formats de compression pris en charge pour l'OCR TIFF et GIF ?

IronOCR fonctionne avec des fichiers TIFF qui prennent en charge la compression sans perte, ce qui la rend idéale pour les documents numérisés et la photographie professionnelle. Pour les fichiers GIF, la bibliothèque gère à la fois les formats de compression avec et sans perte, y compris ceux contenant des animations stockées dans un seul fichier.

Comment optimiser les performances de l'OCR pour les documents TIFF multipages de grande taille ?

IronOcr offre des options de configuration rapide de l'OCR et des fonctionnalités d'OCR Tesseract multithread pour les applications critiques en termes de performances. Ces fonctionnalités garantissent un traitement par lots efficace lors de la manipulation de documents TIFF multipages volumineux, réduisant ainsi considérablement le temps de traitement.

Puis-je définir des zones de lecture spécifiques dans des images TIFF ou GIF ?

Oui, IronOCR vous permet de définir des zones de lecture en spécifiant des zones de recadrage dans vos images TIFF ou GIF. Cette fonction permet de concentrer le traitement OCR sur des parties spécifiques de l'image, améliorant ainsi la précision et les performances lorsque vous n'avez besoin que du texte de certaines zones.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 5,246,844 | Version : 2025.12 vient de sortir