Ajuste de los parámetros del preprocesamiento, análisis, reconocimiento y síntesis de páginas
El procesamiento de documentos en ABBYY FineReader Engine consta de varias etapas: preprocesamiento de páginas, análisis, reconocimiento, síntesis de páginas, síntesis de documentos y exportación. Esta sección trata sobre el preprocesamiento de páginas, el análisis, el reconocimiento y la síntesis de páginas y documentos. Para obtener información detallada sobre los parámetros de exportación, consulte ajuste de los parámetros de exportación.Veamos las etapas del procesamiento en orden:
Preprocesamiento de páginas Durante esta etapa, FineReader Engine mejora automáticamente la calidad de la imagen y corrige defectos que pueden interferir con el Reconocimiento óptico de caracteres (OCR): orientación de la página, imágenes invertidas y distorsiones geométricas.
Análisis de diseño Durante el análisis, FineReader Engine localiza las áreas que contienen distintos tipos de datos. Estas áreas se denominan “bloques”.
Reconocimiento Las partes de la imagen que se encuentran dentro de los bloques se reconocen de formas que dependen del tipo de bloque.
Síntesis de página Se detectan el texto y los colores de fondo, los hipervínculos y otros elementos de formato.
Síntesis de documentos Por último, se recrean los estilos de fuente y la estructura lógica del documento: FineReader Engine detecta los encabezados del documento reconocido, reconstruye la tabla de contenido, detecta las leyendas de imágenes y tablas, así como otros elementos de la estructura del documento.
Antes del procesamiento, puede configurar los parámetros de preprocesamiento, análisis, reconocimiento y síntesis de páginas con ayuda de los objetos de parámetros. El objeto principal que proporciona acceso a todos los parámetros de procesamiento es el objeto DocumentProcessingParams. Tiene un conjunto de subobjetos que influyen en distintas etapas del procesamiento.Según la etapa de procesamiento, se puede pasar a los métodos de procesamiento como parámetro de entrada el puntero a un objeto DocumentProcessingParams o bien punteros a sus subobjetos, lo que permite influir en los resultados del procesamiento. Los objetos FRDocument y FRPage proporcionan métodos de preprocesamiento, análisis, reconocimiento y síntesis de páginas.Los procesos de preprocesamiento, análisis, reconocimiento y síntesis de páginas también se pueden ajustar mediante perfiles, y los escenarios más habituales ya están cubiertos por perfiles predefinidos bien probados. Consulte uso de perfiles para obtener más información.
Para establecer los parámetros de procesamiento de cada página, utilice las propiedades del subobjeto PageProcessingParams del objeto DocumentProcessingParams. El objeto PageProcessingParams es el objeto principal de un grupo de objetos que configuran los parámetros de procesamiento de páginas:
El objeto PageProcessingParams también le permite activar o desactivar cualquiera de las etapas de procesamiento. Por ejemplo, puede establecer la propiedad PerformAnalysis del objeto PageProcessingParams en FALSE si tiene previsto especificar los bloques manualmente y no necesita realizar el análisis de diseño.
Para configurar los parámetros del procesamiento de documentos, además de los parámetros de procesamiento de páginas, también debe configurar los parámetros de síntesis del documento mediante el objeto SynthesisParamsForDocument. Durante la síntesis del documento se detectan los estilos y el formato de las fuentes. Las propiedades de los objetos de FineReader Engine relacionadas con las fuentes y los estilos del documento solo adquieren sentido después de la síntesis del documento.Puede omitir la etapa de síntesis del documento en los siguientes casos:
Si va a exportar el texto reconocido en formato TXT. Al exportarlo en este formato, no se utiliza la información de síntesis.
Si va a exportar un documento en formato PDF ImageOnly. En este modo no se utilizan ni el texto reconocido ni la información de diseño.
En todos los demás casos, debe realizarse la síntesis del documento. Omitirla provocará errores durante la exportación.
Los métodos que incluyen la palabra “Process” en su nombre (por ejemplo, IFRDocument::Process ) incluyen la etapa de síntesis del documento. Los métodos de procesamiento del objeto FRPage no la incluyen, por lo que, después de usarlos y antes de exportar, debe llamar explícitamente a algún método que realice la síntesis del documento.
Puede acelerar la etapa de síntesis del documento y reducir el uso de memoria. Si establece la propiedad DetectFontFormattingAtPageLevel del objeto SynthesisParamsForPage en TRUE durante la síntesis de la página, después puede desactivar la detección de los parámetros de fuente y de la estructura del documento durante la síntesis del documento (DetectFontFormatting y DetectDocumentStructure del objeto SynthesisParamsForDocument). No obstante, la calidad puede verse afectada.Cada vez que se cambie el texto o el diseño del documento (por ejemplo, cuando se elimina o se agrega un bloque, o se edita el texto), le recomendamos volver a llamar a un método de síntesis del documento. Tenga en cuenta que el método SynthesizePages de FRDocument le permite especificar la colección de páginas del documento que se modificaron, por lo que solo se volverán a calcular los datos necesarios.
Configure las propiedades necesarias del subobjeto PageProcessingParams. No es necesario configurar todas las propiedades de todos los subobjetos, ya que, al crearse, se inicializan con valores predeterminados razonables. Solo tiene que ajustar aquellas propiedades para las que desee valores distintos de los predeterminados.
Cuando configure los parámetros que se usarán en las funciones de análisis de diseño, no olvide establecer los valores correctos de las propiedades de los subobjetos de PageProcessingParams que afectan al reconocimiento. Esto se recomienda porque todos estos parámetros se copian en los bloques que se crean durante el análisis de diseño y después se utilizan para el reconocimiento, y también porque el análisis de determinadas partes de la imagen puede implicar reconocimiento.
Si es necesario, configure las propiedades necesarias del subobjeto SynthesisParamsForDocument. No es necesario configurar todas las propiedades de todos los objetos y subobjetos, ya que, al crearse, se inicializan con valores predeterminados razonables. Solo tiene que ajustar aquellas propiedades para las que desee valores distintos de los predeterminados. Compruebe que el valor de la propiedad PerformSynthesis del objeto DocumentProcessingParams sea true.
Puede pasar el objeto DocumentProcessingParams o un conjunto de sus subobjetos a uno de los métodos de procesamiento de los objetos FRDocument, FRPage y Engine.
Para reconocer un documento, sugerimos usar los métodos de procesamiento del objeto FRDocument. Este objeto proporciona una amplia gama de métodos de procesamiento. El método más práctico, que permite realizar el preprocesamiento, el análisis, el reconocimiento y la síntesis con un solo método, es Process. Además, utiliza del modo más eficiente las capacidades de procesamiento simultáneo de los sistemas multiprocesador y multinúcleo. No obstante, también puede realizar de forma consecutiva el preprocesamiento, el análisis, el reconocimiento y la síntesis mediante los métodos correspondientes.
Código C#
FREngine.IEngine engine;FREngine.IFRDocument frdoc;// Suponemos que el documento ya se ha creado y que se han agregado imágenes al documento// Crear DocumentProcessingParams y establecer parámetrosFREngine.IDocumentProcessingParams dpp = engine.CreateDocumentProcessingParams();FREngine.IPageProcessingParams ppp = dpp.PageProcessingParams;ppp.PagePreprocessingParams.CorrectOrientationMode = COM_Auto;// Usar los parámetros para el procesamientofrDoc.Process( dpp );
Se utilizan procedimientos similares en los siguientes ejemplos de código: