Dans le cas de la reconnaissance au niveau des champs, de courts fragments de texte sont reconnus afin de capturer les données de certains champs. La qualité de la reconnaissance est cruciale dans ce scénario. Ce scénario peut également être utilisé dans le cadre de scénarios plus complexes, dans lesquels des données pertinentes doivent être extraites de documents (par exemple, pour capturer des données de documents papier dans des systèmes d’information et des bases de données, ou pour classer et indexer automatiquement des documents dans des systèmes de gestion documentaire). Dans ce scénario, le système reconnaît soit plusieurs lignes de texte dans certains champs seulement, soit l’intégralité du texte sur une image de petite taille. Le système calcule un indice de confiance pour chaque caractère reconnu. Les indices de confiance peuvent ensuite être utilisés lors de la vérification des résultats de reconnaissance. En outre, le système peut stocker plusieurs variantes de reconnaissance pour les mots et les caractères du texte, qui peuvent ensuite être utilisées dans des algorithmes de vote afin d’améliorer la qualité de la reconnaissance. Le traitement de petits fragments de texte dans ce scénario diffère à certains égards des étapes correspondantes dans d’autres scénarios :Documentation Index
Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
Use this file to discover all available pages before exploring further.
- Prétraitement des images numérisées ou des photos
- Reconnaissance de petits fragments de texte
- Utilisation des données reconnues
Mise en œuvre du scénario
Les exemples de code fournis dans cette section sont spécifiques à Windows.
Étape 1. Chargement d’ABBYY FineReader Engine
Étape 1. Chargement d’ABBYY FineReader Engine
Pour commencer à utiliser ABBYY FineReader Engine, vous devez créer l’objet Engine. L’objet Engine est l’objet de plus haut niveau dans la hiérarchie des objets ABBYY FineReader Engine ; il fournit divers paramètres globaux, certaines méthodes de traitement, ainsi que des méthodes permettant de créer les autres objets.Pour créer l’objet Engine, vous pouvez utiliser la fonction InitializeEngine. Consultez également les autres façons de charger l’objet Engine (Win).
C#
C++ (COM)
Étape 2. Chargement des paramètres du scénario
Étape 2. Chargement des paramètres du scénario
Les paramètres les plus adaptés peuvent être sélectionnés à l’aide de la méthode LoadPredefinedProfile de l’objet Engine. Cette méthode prend le nom du profil en paramètre d’entrée. Vous pouvez sélectionner les paramètres les plus adaptés en utilisant le profil prédéfini FieldLevelRecognition. Pour en savoir plus sur les profils, consultez Working with Profiles.Si vous souhaitez modifier les paramètres utilisés pour le traitement, utilisez les objets Parameter correspondants. Pour plus d’informations, consultez la section Optimisation supplémentaire ci-dessous.
C#
C++ (COM)
Étape 3. Chargement et prétraitement des images
Étape 3. Chargement et prétraitement des images
ABBYY FineReader Engine fournit un objet FRDocument pour traiter les documents multipages. Pour charger les images d’un document et les prétraiter, vous devez créer l’objet FRDocument et y ajouter des images. Vous pouvez procéder de l’une des façons suivantes :
- Créez un objet FRDocument à l’aide de la méthode CreateFRDocumentFromImage de l’objet Engine. Cette méthode crée un objet FRDocument et charge les images à partir du fichier spécifié.
- Créez un objet FRDocument à l’aide de la méthode CreateFRDocument de l’objet Engine, puis ajoutez-y les images à partir d’un fichier (à l’aide de la méthode AddImageFile, AddImageFileWithPassword ou AddImageFileWithPasswordCallback de l’objet FRDocument).
C#
C++ (COM)
Étape 4. Configuration des champs à reconnaître
Étape 4. Configuration des champs à reconnaître
Vous devez maintenant créer des blocs contenant vos champs et, pour chacun d’eux, spécifier le type de bloc ainsi que les caractéristiques connues des données qu’il contient.Effectuez l’analyse de la mise en page du document à l’aide de la méthode Analyze, ou ajoutez manuellement des blocs contenant les champs que vous devez reconnaître. Consultez Working with Layout and Blocks pour savoir comment procéder.Pour chaque champ, vous pouvez désormais définir ses propres paramètres de reconnaissance. Par exemple, si un champ contient du texte, utilisez la propriété ITextBlock::RecognizerParams :
- définissez le type de texte à l’aide de la propriété TextTypes de l’objet RecognizerParams. Par exemple, si le champ contient des chiffres écrits au format d’un code postal, utilisez le type de texte TT_Index.
- définissez la langue à l’aide de la méthode SetPredefinedTextLanguage. L’utilisation de langues prédéfinies spéciales (Windows uniquement) peut être utile si vous connaissez le type d’informations contenues dans le champ. Par exemple, si le champ contient une adresse aux États-Unis, sélectionnez la langue prédéfinie English_US_Address. Cela garantit une reconnaissance plus fiable du texte.
- définissez les propriétés SaveCharacterRecognitionVariants et SaveWordRecognitionVariants de l’objet RecognizerParams si vous devez utiliser les variantes de reconnaissance pour vérifier plus en détail le résultat, comme décrit ci-dessous à l’étape 6. Notez que ce paramètre n’est pas disponible pour les textes manuscrits ou écrits à la main en lettres détachées.
C#
C++ (COM)
Étape 5. Reconnaissance
Étape 5. Reconnaissance
Comme la mise en page du document a déjà été analysée et modifiée par vos soins, n’appelez pas de nouveau les méthodes d’analyse. Utilisez la méthode Recognize, qui effectue la reconnaissance et la synthèse des pages pour l’ensemble des pages du document. Dans ce scénario, vous devez extraire les données des champs et non exporter le document reconnu ; vous n’aurez donc pas besoin de la synthèse du document.
C#
C++ (COM)
Étape 6. Utilisation des données reconnues
Étape 6. Utilisation des données reconnues
Utilisez l’objet Text pour accéder au fragment de texte reconnu (vous pouvez obtenir cet objet pour un bloc de texte via la propriété ITextBlock::Text). Utilisez la propriété Paragraphs pour obtenir la collection de paragraphes du fragment, ainsi que la méthode IParagraphs::Item pour accéder aux paragraphes individuels. La propriété IParagraph::Text donne accès au texte reconnu d’un paragraphe.Vous pouvez utiliser IParagraph::Words pour obtenir la collection de mots d’un paragraphe. Utilisez la méthode IWords::Item pour accéder aux mots individuels de la collection. La propriété IWord::Text renvoie la ligne qui contient le mot reconnu. Utilisez la méthode GetRecognitionVariants de l’objet Word ou la méthode GetWordRecognitionVariants de l’objet Paragraph pour obtenir les variantes de reconnaissance d’un mot.Les attributs de chaque caractère sont accessibles via la méthode GetCharParams de l’objet Paragraph. Cette méthode donne accès à l’objet CharParams, qui contient les paramètres du caractère reconnu. Les variantes de reconnaissance d’un caractère sont accessibles via la propriété ICharParams::CharacterRecognitionVariants.Pour des informations détaillées sur l’utilisation du texte, consultez Utilisation du texte. Pour en savoir plus sur l’utilisation de l’Engine dans les algorithmes de vote, consultez Utilisation de l’API Voting.Une fois que vous avez terminé de travailler avec l’objet FRDocument, libérez toutes les ressources utilisées par cet objet. Utilisez la méthode IFRDocument::Close.
Étape 7. Déchargement d’ABBYY FineReader Engine
Étape 7. Déchargement d’ABBYY FineReader Engine
Une fois que vous avez fini d’utiliser ABBYY FineReader Engine, vous devez décharger l’objet Engine. Pour cela, utilisez la fonction exportée DeinitializeEngine.
C#
C++ (COM)
Ressources requises
Optimisation supplémentaire
- Reconnaissance
- Utilisation des langues
Utilisation des langues de reconnaissance intégrées et personnalisées. - Utilisation des dictionnaires
Utilisation de dictionnaires pour améliorer la qualité de la reconnaissance. - Reconnaissance des mots comportant des espaces
Utilisation de dictionnaires pour reconnaître les mots comportant des espaces (comme New York, etc.). - Reconnaissance de textes manuscrits
Utilisation de l’ICR (Intelligent Character Recognition). - Reconnaissance des coches
Configuration de la reconnaissance des coches et des groupes de coches. - Langues prédéfinies spéciales dans ABBYY FineReader Engine - Windows
Liste des langues de reconnaissance qui contiennent des unités linguistiques spéciales : adresses, date et heure, noms de personnes, etc. Ces langues peuvent être utilisées pour la reconnaissance des champs.
- Utilisation des langues
- Utilisation des données reconnues
- Utilisation du texte
Utilisation du texte reconnu, des paragraphes, des mots et des caractères. - Utilisation de l’API Voting
Utilisation des variantes de reconnaissance des mots et des caractères.
- Utilisation du texte
