Mettre en évidence des textes sous forme d'images en C# ; avec IronOCR

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

La méthode HighlightTextAndSaveAsImages d'IronOcr visualise les résultats de l'OCR en dessinant des boîtes de délimitation autour du texte détecté (caractères, mots, lignes ou paragraphes) et les enregistre en tant qu'images de diagnostic, ce qui permet aux développeurs de valider la précision de l'OCR et de déboguer les problèmes de reconnaissance.

La visualisation des résultats de l'OCR implique le rendu de boîtes de délimitation autour d'éléments de texte spécifiques que le moteur a détectés dans une image. Ce processus superpose des mises en évidence distinctes sur les emplacements exacts des caractères, mots, lignes ou paragraphes individuels, fournissant ainsi une carte claire du contenu reconnu.

Ce retour visuel est crucial pour le débogage et la validation de la précision des résultats de l'OCR, en montrant ce que le logiciel a identifié et où il a commis des erreurs. Lorsque l'on travaille avec des documents complexes ou que l'on cherche à résoudre des problèmes de reconnaissance, la mise en évidence visuelle devient un outil de diagnostic essentiel.

Cet article démontre les capacités de diagnostic d'IronOcr avec sa méthode HighlightTextAndSaveAsImages. Cette fonction permet de mettre en évidence certaines parties du texte et de les enregistrer sous forme d'images à des fins de vérification. Qu'il s'agisse de construire un système de traitement de documents, de mettre en œuvre des mesures de contrôle de la qualité ou de valider votre mise en œuvre de l'OCR, cette fonctionnalité fournit un retour visuel immédiat sur ce que le moteur d'OCR détecte.

Démarrage rapide : Surlignez instantanément des mots dans votre PDF

Cet extrait démontre l'utilisation d'IronOcr : chargez un PDF et mettez en évidence chaque mot du document, en enregistrant le résultat sous forme d'images. Il suffit d'une ligne pour obtenir un retour visuel sur les résultats de l'OCR.

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.

    new IronOcr.OcrInput().LoadPdf("document.pdf").HighlightTextAndSaveAsImages(new IronOcr.IronTesseract(), "highlight_page_", IronOcr.ResultHighlightType.Word);
  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 surligner du texte et l'enregistrer en tant qu'image ? La mise en surbrillance du texte et son enregistrement sous forme d'images sont simples à réaliser avec IronOCR. Chargez un PDF existant avec `LoadPdf`, puis appelez la méthode `HighlightTextAndSaveAsImages` pour mettre en évidence des sections de texte et les enregistrer en tant qu'images. Cette technique permet de vérifier la précision de l'OCR et de déboguer les problèmes de reconnaissance de texte dans vos documents. La méthode prend trois paramètres : le moteur OCR [IronTesseract](https://ironsoftware.com/csharp/ocr/examples/simple-csharp-ocr-tesseract/), un préfixe pour le nom du fichier de sortie et une énumération de `ResultHighlightType` qui dicte le type de texte à mettre en évidence. Cet exemple utilise `ResultHighlightType.Paragraph` pour mettre en évidence les blocs de texte en tant que paragraphes.
Veuillez noterCette fonction utilise le préfixe de la chaîne de sortie et ajoute un identifiant de page (par exemple, "page_0", "page_1") au nom de fichier de l'image de sortie pour chaque page.
Cet exemple utilise un PDF comportant trois paragraphes. ### À quoi ressemble le PDF d'entrée? ### Comment implémenter le code de mise en évidence ? L'exemple de code ci-dessous démontre la mise en œuvre de base à l'aide de la classe [OcrInput](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-input-for-iron-tesseract/). ```csharp :path=/static-assets/ocr/content-code-examples/how-to/highlight-texts-as-images.cs ``` ### Que montrent les images de sortie?
Page web avec trois paragraphes, le paragraphe du milieu surligné avec une bordure rouge montrant la capacité de sélection du texte
Comme le montre l'image de sortie ci-dessus, les trois paragraphes ont été mis en évidence à l'aide d'un encadré rouge clair. Cette représentation visuelle aide les développeurs à identifier rapidement la façon dont le moteur OCR segmente le document en blocs lisibles. ### Quelles sont les différentes options de ResultHighlightType? L'exemple ci-dessus utilise `ResultHighlightType.Paragraph` pour mettre en évidence des blocs de texte. IronOCR offre des options de surbrillance supplémentaires via cette énumération. Vous trouverez ci-dessous une liste complète des types disponibles, chacun servant à des fins de diagnostic différentes. **Character** : Dessine un cadre autour de chaque caractère détecté par le moteur OCR. Utile pour déboguer la reconnaissance de caractères ou les polices spécialisées, en particulier lorsque vous travaillez avec des [fichiers de langue personnalisés](https://ironsoftware.com/csharp/ocr/examples/ocr-tesseract-custom-languages/). **Mot** : met en évidence chaque mot complet identifié par le moteur. Idéal pour valider les limites des mots et leur identification correcte, notamment lors de la mise en œuvre de la [lecture de codes-barres et de QR](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/) parallèlement à la reconnaissance de texte. **Ligne** : met en évidence chaque ligne de texte détectée. Utile pour les documents dont la mise en page complexe nécessite une vérification de l'identification des lignes, par exemple lors du traitement de [documents numérisés](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/). **Paragraphe** : met en évidence des blocs de texte entiers regroupés en paragraphes. Parfait pour comprendre la mise en page d'un document et vérifier la segmentation des blocs de texte, particulièrement utile lorsque l'on travaille avec [l'extraction de tableaux](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/). ### Comment comparer les différents types de surligneurs? Cet exemple complet montre comment générer des mises en évidence pour tous les différents types sur le même document, ce qui vous permet de comparer les résultats : ```csharp using IronOcr; using System; // Initialize the OCR engine with custom configuration IronTesseract ocrTesseract = new IronTesseract(); // Configure for better accuracy if needed ocrTesseract.Configuration.ReadBarCodes = false; // Disable if not needed for performance ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd; // Load the PDF document using var ocrInput = new OcrInput(); ocrInput.LoadPdf("document.pdf"); // Generate highlights for each type Console.WriteLine("Generating character-level highlights..."); ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_character_", ResultHighlightType.Character); Console.WriteLine("Generating word-level highlights..."); ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_word_", ResultHighlightType.Word); Console.WriteLine("Generating line-level highlights..."); ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_line_", ResultHighlightType.Line); Console.WriteLine("Generating paragraph-level highlights..."); ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_paragraph_", ResultHighlightType.Paragraph); Console.WriteLine("All highlight images have been generated successfully!"); ```

Comment traiter les documents de plusieurs pages ? Lors du traitement de PDF multipages ou de fichiers TIFF multi-trames, la fonction de mise en évidence traite automatiquement chaque page individuellement. Ceci est particulièrement utile lors de la mise en œuvre de flux de travail [PDF OCR text extraction](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/) : ```csharp using IronOcr; using System.IO; IronTesseract ocrTesseract = new IronTesseract(); // Load a multi-page document using var ocrInput = new OcrInput(); ocrInput.LoadPdf("multi-page-document.pdf"); // Create output directory if it doesn't exist string outputDir = "highlighted_pages"; Directory.CreateDirectory(outputDir); // Generate highlights for each page // Files will be named: highlighted_pages/page_0.png, page_1.png, etc. ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, Path.Combine(outputDir, "page_"), ResultHighlightType.Word); // Count generated files for verification int pageCount = Directory.GetFiles(outputDir, "page_*.png").Length; Console.WriteLine($"Generated {pageCount} highlighted page images"); ```

Quelles sont les meilleures pratiques en matière de performances ? Lorsque vous utilisez la fonction de mise en évidence, tenez compte des meilleures pratiques suivantes : 1. : Les images mises en évidence peuvent être volumineuses, en particulier pour les documents à haute résolution. Tenez compte de l'espace disponible dans le répertoire de sortie lors du traitement de lots importants. Pour des conseils d'optimisation, consultez notre [guide de configuration de l'OCR rapide](https://ironsoftware.com/csharp/ocr/examples/tune-tesseract-for-speed-in-dotnet/). 2. **Performance** : La génération de points saillants ajoute une surcharge de traitement. Pour les systèmes de production où les mises en évidence ne sont nécessaires qu'occasionnellement, il convient de les mettre en œuvre en tant que processus de diagnostic distinct plutôt que dans le cadre du flux de travail principal. Envisagez d'utiliser l'OCR multithread pour le traitement par lots. 3. **Gestion des erreurs** : Mettez toujours en œuvre une gestion des erreurs appropriée lorsque vous effectuez des opérations sur des fichiers : ```csharp try { using var ocrInput = new OcrInput(); ocrInput.LoadPdf("document.pdf"); // Apply image filters if needed for better recognition ocrInput.Deskew(); // Correct slight rotations ocrInput.DeNoise(); // Remove background noise ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_", ResultHighlightType.Word); } catch (Exception ex) { Console.WriteLine($"Error during highlighting: {ex.Message}"); // Log error details for debugging } ``` ### Comment le surlignage s'intègre-t-il aux résultats de l'OCR? La fonction de mise en évidence fonctionne de manière transparente avec les [objets résultats](https://ironsoftware.com/csharp/ocr/examples/results-objects/) d'IronOcr, ce qui vous permet de corréler les mises en évidence visuelles avec les données textuelles extraites. Ceci est particulièrement utile lorsque vous devez `suivre la progression de l'OCR` ou valider des sections spécifiques du texte reconnu. La classe `OcrResult` fournit des informations détaillées sur chaque élément détecté, qui correspondent directement aux mises en évidence visuelles générées par cette méthode. ### Et si je rencontre des problèmes? Si vous rencontrez des problèmes avec la fonction de mise en évidence, consultez le [guide général de dépannage](https://ironsoftware.com/csharp/ocr/troubleshooting/general-troubleshooting-ocr/) pour trouver des solutions courantes. Pour des problèmes spécifiques liés à la mise en évidence : - **Images de sortie vierges** : assurez-vous que le document d'entrée contient du texte lisible et que le moteur OCR est correctement [configuré pour votre type de document](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/). Vous devrez peut-être appliquer des [filtres d'optimisation d'image](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/) ou `fixer l'orientation de l'image` pour améliorer la reconnaissance. - **Les points forts** : Certains types de documents peuvent nécessiter un prétraitement spécifique. Essayez d'appliquer des [filtres d'image](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/) ou de `fixer l'orientation de l'image` pour améliorer la reconnaissance. - **Performances** : Pour les documents volumineux, envisagez de mettre en œuvre le `multithreading` pour améliorer la vitesse de traitement. En outre, consultez notre guide sur [la correction des scans de mauvaise qualité](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/) si vous travaillez avec des données d'entrée de mauvaise qualité.

Comment puis-je l'utiliser pour le débogage en production ? La fonction de surlignage constitue un excellent outil de débogage de la production. Lorsqu'ils sont intégrés à des [jetons d'abandon](https://ironsoftware.com/csharp/ocr/examples/abort-token/) pour les opérations de longue durée et à des [temporisations](https://ironsoftware.com/csharp/ocr/examples/timeouts/), vous pouvez créer un système de diagnostic robuste. Envisagez de mettre en place un mode de débogage dans votre application : ```csharp public class OcrDebugger { private readonly IronTesseract _tesseract; private readonly bool _debugMode; public OcrDebugger(bool enableDebugMode = false) { _tesseract = new IronTesseract(); _debugMode = enableDebugMode; } public OcrResult ProcessDocument(string filePath) { using var input = new OcrInput(); input.LoadPdf(filePath); // Apply preprocessing input.Deskew(); input.DeNoise(); // Generate debug highlights if in debug mode if (_debugMode) { string debugPath = $"debug_{Path.GetFileNameWithoutExtension(filePath)}_"; input.HighlightTextAndSaveAsImages(_tesseract, debugPath, ResultHighlightType.Word); } // Perform actual OCR return _tesseract.Read(input); } } ``` ### Qu'est-ce que je dois faire ensuite ? Maintenant que vous savez comment utiliser la fonction de mise en évidence, explorez : - [Créer des PDF consultables](https://ironsoftware.com/csharp/ocr/examples/tesseract-create-searchable-pdf/) à partir de vos résultats d'OCR - [Lire des types de documents spécifiques](https://ironsoftware.com/csharp/ocr/tutorials/read-specific-document/) comme les passeports ou les licences - Configurer IronOcr dans votre environnement de développement avec nos [guides de mise en route](https://ironsoftware.com/csharp/ocr/get-started/windows/) - Mise en œuvre d'une prise en charge de 125 langues internationales pour des applications mondiales - Utilisation de l'assistant de filtre pour optimiser le traitement des images Pour une utilisation en production, pensez à [obtenir une licence](https://ironsoftware.com/csharp/ocr/licensing/) pour supprimer les filigranes et accéder à toutes les fonctionnalités.

Questions Fréquemment Posées

Comment puis-je visualiser les résultats de l'OCR dans mon application C# ?

IronOcr fournit la méthode HighlightTextAndSaveAsImages qui permet de visualiser les résultats de l'OCR en dessinant des boîtes de délimitation autour des éléments de texte détectés (caractères, mots, lignes ou paragraphes) et de les enregistrer en tant qu'images de diagnostic. Cette fonction aide les développeurs à valider la précision de l'OCR et à déboguer les problèmes de reconnaissance.

Quel est le moyen le plus simple de surligner des mots dans un document PDF ?

Avec IronOCR, vous pouvez surligner des mots dans un PDF en une seule ligne de code : new IronOcr.OcrInput().LoadPdf("document.pdf").HighlightTextAndSaveAsImages(new IronOcr.IronTesseract(), "highlight_page_", IronOcr.ResultHighlightType.Word). Ceci charge le PDF et crée des images avec les mots surlignés.

Quels sont les paramètres requis par la méthode HighlightTextAndSaveAsImages ?

La méthode HighlightTextAndSaveAsImages d'IronOCR nécessite trois paramètres : l'instance du moteur OCR IronTesseract, une chaîne de préfixe pour le nom du fichier de sortie et une valeur ResultHighlightType enum qui spécifie les éléments de texte à mettre en évidence (Caractère, Mot, Ligne ou Paragraphe).

Comment les images de sortie sont-elles nommées lors de l'utilisation de la mise en évidence du texte ?

IronOCR nomme automatiquement les images de sortie en combinant le préfixe que vous avez spécifié avec un identifiant de page. Par exemple, si vous utilisez "highlight_page_" comme préfixe, la méthode génère des fichiers nommés "highlight_page_0", "highlight_page_1", etc. pour chaque page de votre document.

Pourquoi la mise en évidence visuelle est-elle importante pour le développement de l'OCR ?

La mise en évidence visuelle dans IronOcr fournit un retour de diagnostic crucial en montrant exactement le texte que le moteur d'OCR a détecté et où se produisent les erreurs potentielles. Cette carte visuelle aide les développeurs à déboguer les problèmes de reconnaissance, à valider la précision de l'OCR et à résoudre les problèmes dans les documents complexes.

Puis-je mettre en évidence d'autres types d'éléments de texte que les mots ?

Oui, l'énumération ResultHighlightType d'IronOcr vous permet de mettre en évidence divers éléments de texte, notamment des caractères individuels, des mots, des lignes ou des paragraphes entiers. Il suffit de spécifier le type souhaité lors de l'appel de la méthode HighlightTextAndSaveAsImages pour visualiser différents niveaux de détection de texte.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 5,246,844 | Version : 2025.12 vient de sortir