Les exemples C# s’appliquent uniquement à FRE for Windows.
La technologie de reconnaissance intelligente des caractères (ICR) d’ABBYY FineReader Engine vous permet de reconnaître les textes manuscrits et les textes écrits en lettres moulées.
Toutes les langues de reconnaissance ne sont pas disponibles pour la reconnaissance des textes manuscrits ou écrits en lettres moulées. Consultez la liste des langues prédéfinies.
Lors de l’analyse de la mise en page, les blocs contenant des textes manuscrits et des textes écrits en lettres moulées peuvent être détectés et marqués pour être reconnus comme du texte manuscrit. Pour détecter et reconnaître du texte manuscrit ou écrit en lettres moulées, définissez la propriété DetectHandwritten de PageAnalysisParams sur TRUE. Définissez la propriété SpeedQualityMode sur SQM_Accurate, car l’écriture manuscrite ne peut être détectée qu’en mode d’analyse précise.Les types de texte manuscrit et de texte écrit en lettres moulées sont définis par la même constante TextTypeEnum::TT_Handwritten. Les blocs de texte seront créés avec la propriété TextTypes de l’objet ITextBlock::RecognizerParams définie sur TT_Handwritten.Lors de la reconnaissance, le texte sera reconnu comme manuscrit si la langue de reconnaissance prend en charge le texte manuscrit, ou comme texte écrit en lettres moulées si elle ne prend en charge que ce type de texte.
Code C#
// Objet global ABBYY FineReader EngineFREngine.IEngine engine;...// Ouvrir un fichier image...FREngine.IFRDocument frdoc;// Créer DocumentProcessingParams et définir les paramètresFREngine.IDocumentProcessingParams processingParams = engine.CreateDocumentProcessingParams();processingParams.PageProcessingParams.PageAnalysisParams.SpeedQualityMode = SQM_Accurate;processingParams.PageProcessingParams.PageAnalysisParams.DetectHandwritten = true;// Définir les types de texte afin de reconnaître à la fois le texte normal et l’écriture manuscriteprocessingParams.PageProcessingParams.RecognizerParams.TextTypes = TT_Normal | TT_Handwritten;// Utiliser les paramètres pour le traitementfrDoc.Process( processingParams );...
Vous pouvez également définir manuellement les paramètres de reconnaissance des blocs contenant du texte manuscrit via la propriété ITextBlock::RecognizerParams :
[Facultatif] Les lettres écrites en lettres moulées peuvent souvent être entourées d’un cadre, d’une case, etc. Dans ce cas, définissez le type de marquage autour des lettres dans la propriété FieldMarkingType de l’objet RecognizerParams. Si chaque lettre est écrite dans une cellule distincte, utilisez la propriété CellsCount pour définir le nombre de cellules de caractères du bloc reconnu.
Code C#
// Objet ABBYY FineReader Engine globalFREngine.IEngine engine;...// Ouvrir un fichier image...// Obtenir l’objet Layout de la pageFREngine.ILayout layout = frPage.Layout;// Définir la région du blocFREngine.IRegion region = engine.CreateRegion();region.AddRect( 491, 314, 2268, 404 );// Créer un nouveau blocFREngine.IBlock newBlock = layout.Blocks.AddNew( FREngine.BlockTypeEnum.BT_Text, region, 0 );FREngine.ITextBlock textBlock = newBlock.GetAsTextBlock();// Spécifier le type de textetextBlock.RecognizerParams.TextTypes = (int)FREngine.TextTypeEnum.TT_Handwritten;// Spécifier le type de marquage autour des lettrestextBlock.RecognizerParams.FieldMarkingType = FREngine.FieldMarkingTypeEnum.FMT_SimpleText;// Reconnaissance et exportation...