Passer au contenu principal
Le texte avec lequel ABBYY FineReader Engine fonctionne est du texte brut, c’est-à-dire qu’il ne contient pas de cadres, de tableaux, etc. Tous les caractères sont au format Unicode. Le texte brut peut contenir les caractères spéciaux suivants :
  • 0x2028 — Symbole de saut de ligne
  • 0x2029 — Symbole de saut de paragraphe
  • 0xFFFC — Caractère de remplacement d’objet (indique une image incorporée dans le texte)
  • 0x0009 — Tabulation
  • 0x005E — Accent circonflexe (^), utilisé par ABBYY FineReader Engine comme caractère de remplacement pour les caractères non reconnus
  • 0x00AC — Trait d’union conditionnel
Les attributs et la mise en forme du texte sont accessibles via les objets et propriétés correspondants. Vous pouvez accéder au texte reconnu d’un document via le Layout de sa page (propriété IFRPage::Layout).

Texte reconnu dans le Layout

Seuls les blocs de texte, de tableau et de Barcode contiennent du texte après la reconnaissance. Les autres blocs n’en contiennent pas. L’objet Text permet d’accéder au texte reconnu des blocs de texte et de tableau, tandis que l’objet BarcodeText permet d’accéder au texte d’un bloc de Barcode. Pour accéder au texte reconnu d’un bloc, procédez comme suit :
  • Pour les blocs de texte
Utilisez la propriété ITextBlock::Text. Récupérez le texte du Barcode à l’aide de la propriété IBarcodeBlock::BarcodeText ou IBarcodeBlock::Text. La première renvoie l’objet BarcodeText, qui est une collection de caractères du Barcode reconnu (objets BarcodeSymbol). La seconde renvoie le texte du Barcode sous la forme d’une seule string.

Text et paragraphes

L’objet Text contient une collection de paragraphes. Cette collection est un objet Paragraphs, accessible via la propriété Paragraphs de l’objet Text. L’objet Paragraphs est une collection d’objets Paragraph. Le texte reconnu est accessible via la propriété IParagraph::Text. Le texte contenu dans cette propriété est une chaîne Unicode. Il existe également un objet ParagraphParams qui contient des attributs propres à l’ensemble du paragraphe, tels que des informations sur son alignement et son retrait. Cet objet est accessible via la propriété IParagraph::ExtendedParams. La propriété IParagraph::Lines donne accès à une collection de lignes de paragraphe représentée par l’objet ParagraphLines, qui est lui-même une collection d’objets ParagraphLine. Ce dernier fournit des informations sur la position géométrique d’une ligne de paragraphe et représente donc la division du texte en lignes. La propriété IParagraph::Words donne accès à une collection de mots du paragraphe représentée par l’objet Words, qui est une collection d’objets Word. L’objet Word donne accès à un mot unique du paragraphe.

Attributs des caractères

Chaque caractère du texte possède ses propres paramètres. Ils sont accessibles via l’objet CharParams. L’objet CharParams comprend un vaste ensemble d’attributs de caractère, tels que ses paramètres géométriques, sa police et sa langue. L’objet CharParams contient également le caractère lui-même dans la propriété SelectedCharacterRecognitionVariant. Voir aussi Texte brut ci-dessous pour la méthode recommandée permettant d’obtenir des informations sur tous les caractères d’un document. La position d’un caractère dans le texte est définie par l’index de son paragraphe et son propre index dans ce paragraphe. Il existe également ce que l’on appelle une « position spéciale » dans le texte : l’index du paragraphe correspond au nombre total de paragraphes, et l’index du caractère est 0. Il s’agit du point d’insertion à la fin du texte. Certaines méthodes de l’objet Text effectuent des opérations sur la position spéciale, c’est-à-dire y insèrent un autre fragment de texte ou une image. La propriété SelectedCharacterRecognitionVariant de l’objet CharParams donne accès à un ensemble étendu d’attributs propres à un caractère donné, représenté par l’objet CharacterRecognitionVariant. Ces attributs sont définis lors de la reconnaissance et fournissent certaines informations internes sur la reconnaissance propres au caractère. En particulier, cet objet fournit des informations plus précises sur le degré de certitude de la reconnaissance du caractère, sur la probabilité que le caractère appartienne à une police avec empattement, etc.

Modification du texte

Vous pouvez essayer de modifier les attributs de l’objet Text, mais vous devez le faire avec beaucoup de précaution si le texte doit être exporté dans un format externe. Les méthodes d’exportation d’ABBYY FineReader Engine supposent que le texte reconnu est le résultat de la reconnaissance et que l’utilisateur s’est contenté de corriger les erreurs de reconnaissance, sans apporter d’autres modifications. Les objets du groupe Text possèdent de nombreuses propriétés interdépendantes, et la modification de l’une d’elles exige souvent d’en modifier d’autres également. C’est pourquoi les modifications apportées aux attributs du texte reconnu peuvent parfois entraîner des résultats d’exportation imprévisibles.

Texte brut

Vous pouvez également accéder à l’intégralité du texte reconnu d’un document ou d’une page dans un format spécial de « texte brut », représenté par l’objet PlainText. Il fournit uniquement des informations sur les symboles de texte reconnus, leur taux de confiance de reconnaissance et leur position par rapport à l’image source. Cependant, il peut être utile si vous devez accéder à ces attributs pour tous les caractères d’un document volumineux. Dans FRE pour Windows : utilisez sa méthode GetCharacterData, qui vous permet d’obtenir en une seule fois les données de tous les caractères et de les parcourir ensuite de votre côté. Parcourir tous les blocs de texte prendra nettement plus de temps, en particulier si votre application fonctionne via DCOM.

Voir aussi

Travailler avec Layout et les blocs Travailler avec les langues Utiliser les algorithmes de vote