Saltar al contenido principal
Los ejemplos de C# solo se aplican a FRE para Windows.
La tecnología de reconocimiento inteligente de caracteres (ICR) de ABBYY FineReader Engine permite reconocer textos manuscritos y en letra de imprenta.
  • No todos los idiomas de reconocimiento están disponibles para reconocer texto manuscrito o en letra de imprenta. Consulte la lista de idiomas predefinidos.
  • No se pueden reconocer símbolos especiales como * ^ ™ © ® № § ¡ ¿ ‰.
Durante el análisis del diseño, se pueden detectar bloques con textos manuscritos y en letra de imprenta, y marcarlos para su reconocimiento con el tipo de texto manuscrito. Para detectar y reconocer texto manuscrito o en letra de imprenta, establezca la propiedad DetectHandwritten de PageAnalysisParams en TRUE. Establezca la propiedad SpeedQualityMode en SQM_Accurate, ya que la escritura manuscrita solo puede detectarse en el modo de análisis preciso. El texto manuscrito y el texto en letra de imprenta se especifican mediante la misma constante TextTypeEnum::TT_Handwritten. Los bloques de texto se crearán con la propiedad TextTypes del objeto ITextBlock::RecognizerParams establecida en TT_Handwritten. Durante el reconocimiento, el texto se reconocerá como manuscrito si el idioma de reconocimiento admite texto manuscrito, o como texto en letra de imprenta si solo admite este último.
// Objeto global de ABBYY FineReader Engine
FREngine.IEngine engine;
...
// Abrir un archivo de imagen
...
FREngine.IFRDocument frdoc;
// Crear DocumentProcessingParams y establecer los parámetros
FREngine.IDocumentProcessingParams processingParams = engine.CreateDocumentProcessingParams();
processingParams.PageProcessingParams.PageAnalysisParams.SpeedQualityMode = SQM_Accurate;
processingParams.PageProcessingParams.PageAnalysisParams.DetectHandwritten = true;
// Establecer los tipos de texto para reconocer tanto texto normal como escritura manuscrita
processingParams.PageProcessingParams.RecognizerParams.TextTypes = TT_Normal | TT_Handwritten;
// Usar los parámetros para el procesamiento
frDoc.Process( processingParams );
...

Marcado manual de bloques

Como alternativa, puede configurar manualmente los parámetros de reconocimiento para bloques con texto manuscrito mediante la propiedad ITextBlock::RecognizerParams:
  1. Establezca la propiedad TextTypes del objeto RecognizerParams en TT_Handwritten.
  2. [Opcional] Las letras de imprenta suelen estar encerradas en un marco, recuadro, etc. En este caso, establezca el tipo de marca alrededor de las letras en la propiedad FieldMarkingType del objeto RecognizerParams. Si cada letra está escrita en una celda independiente, utilice la propiedad CellsCount para especificar el número de celdas de caracteres en el bloque reconocido.
    // Objeto global de ABBYY FineReader Engine
    FREngine.IEngine engine;
    ...
    // Abrir un archivo de imagen
    ...
    // Obtener el objeto Layout de la página
    FREngine.ILayout layout = frPage.Layout;
    // Establecer la región del bloque
    FREngine.IRegion region = engine.CreateRegion();
    region.AddRect( 491, 314, 2268, 404 );
    // Crear un bloque nuevo
    FREngine.IBlock newBlock = layout.Blocks.AddNew( FREngine.BlockTypeEnum.BT_Text, region, 0 );
    FREngine.ITextBlock textBlock = newBlock.GetAsTextBlock();
    // Especificar el tipo de texto
    textBlock.RecognizerParams.TextTypes = (int)FREngine.TextTypeEnum.TT_Handwritten;
    // Especificar el tipo de marca alrededor de las letras
    textBlock.RecognizerParams.FieldMarkingType = FREngine.FieldMarkingTypeEnum.FMT_SimpleText;
    // Reconocimiento y exportación
    ...
    

    Consulte también

    RecognizerParams Lista de idiomas predefinidos