Réglage des paramètres de prétraitement, d’analyse, de reconnaissance et de synthèse des pages
Le traitement des documents dans ABBYY FineReader Engine comprend plusieurs étapes : le prétraitement des pages, l’analyse, la reconnaissance, la synthèse des pages, la synthèse des documents et l’export. Cette section traite du prétraitement des pages, de l’analyse, de la reconnaissance, ainsi que de la synthèse des pages et des documents. Pour plus d’informations sur les paramètres d’export, consultez Réglage des paramètres d’export.Examinons les étapes du traitement dans l’ordre :
Prétraitement des pages Au cours de cette étape, FineReader Engine améliore automatiquement la qualité de l’image et corrige les défauts susceptibles de gêner la reconnaissance optique de caractères (OCR) : orientation de la page, images inversées et distorsions géométriques.
Analyse de la mise en page Lors de l’analyse, FineReader Engine détecte les zones qui contiennent différents types de données. Ces zones sont appelées « blocs ».
Reconnaissance Les parties de l’image situées à l’intérieur des blocs sont reconnues différemment selon le type de bloc.
Synthèse de la page Le texte et les couleurs d’arrière-plan, les hyperliens et les autres éléments de mise en forme sont détectés.
Synthèse du document Enfin, les styles de police et la structure logique du document sont recréés : FineReader Engine détecte les titres dans le document reconnu, reconstitue la table des matières, détecte les légendes des images et des tableaux, ainsi que d’autres éléments de la structure du document.
Avant le traitement, vous pouvez définir les paramètres de prétraitement, d’analyse, de reconnaissance et de synthèse des pages à l’aide des objets de paramètres. Le principal objet qui donne accès à tous les paramètres de traitement est l’objet DocumentProcessingParams. Il possède un ensemble de sous-objets qui influencent différentes étapes du traitement.Selon l’étape de traitement, soit le pointeur vers un objet DocumentProcessingParams, soit les pointeurs vers ses sous-objets peuvent être passés aux méthodes de traitement en tant que paramètres d’entrée et influer ainsi sur les résultats du traitement. Les objets FRDocument et FRPage fournissent des méthodes de prétraitement, d’analyse, de reconnaissance et de synthèse des pages.Les processus de prétraitement, d’analyse, de reconnaissance et de synthèse des pages peuvent également être réglés à l’aide de profils, et les scénarios les plus courants sont déjà couverts par des profils prédéfinis éprouvés. Consultez Utilisation des profils pour plus de détails.
Pour définir les paramètres de traitement de chaque page, utilisez les propriétés du sous-objet PageProcessingParams de l’objet DocumentProcessingParams. L’objet PageProcessingParams est l’objet parent d’un groupe d’objets qui configurent les paramètres de traitement des pages :
L’objet PageProcessingParams vous permet également d’activer ou de désactiver chacune des étapes du traitement. Par exemple, vous pouvez définir la propriété PerformAnalysis de l’objet PageProcessingParams sur FALSE si vous prévoyez de spécifier les blocs manuellement et n’avez pas besoin d’une analyse de la mise en page.
Pour définir les paramètres du traitement des documents, en plus des paramètres de traitement des pages, vous devez également définir les paramètres de synthèse du document via l’objet SynthesisParamsForDocument. Lors de la synthèse du document, les styles de police et la mise en forme sont détectés. Les objets FineReader Engine liés aux polices et aux styles du document ne deviennent pertinents qu’après la synthèse du document.Vous pouvez omettre l’étape de synthèse du document dans les cas suivants :
Si vous prévoyez d’exporter le texte reconnu au format TXT. Lors de l’export vers ce format, les informations de synthèse ne sont pas utilisées.
Si vous prévoyez d’exporter un document au format PDF ImageOnly. Les informations sur le texte reconnu et la mise en page ne sont pas utilisées dans ce mode.
Dans tous les autres cas, la synthèse du document doit être effectuée. L’omission de la synthèse du document entraînera des erreurs lors de l’export.
Les méthodes dont le nom contient le mot “Process” (par exemple, IFRDocument::Process ) incluent l’étape de synthèse du document. Les méthodes de traitement de l’objet FRPage ne l’incluent pas. Après les avoir utilisées et avant l’export, vous devez donc appeler explicitement une méthode qui effectue la synthèse du document.
Vous pouvez accélérer l’étape de synthèse du document et réduire l’utilisation de la mémoire. Si vous définissez la propriété DetectFontFormattingAtPageLevel de l’objet SynthesisParamsForPage sur TRUE lors de la synthèse de la page, vous pouvez ensuite désactiver la détection des paramètres de police et de la structure du document lors de la synthèse du document (DetectFontFormatting et DetectDocumentStructure de l’objet SynthesisParamsForDocument). Néanmoins, la qualité peut s’en ressentir.Chaque fois que le texte ou la mise en page du document est modifié(e) (par exemple, lorsqu’un bloc est supprimé ou ajouté, ou que le texte est modifié), nous vous recommandons de relancer une méthode de synthèse du document. Notez que la méthode SynthesizePages de FRDocument vous permet de spécifier l’ensemble des pages du document qui ont été modifiées, de sorte que seules les données nécessaires seront recalculées.
Configurez les propriétés nécessaires du sous-objet PageProcessingParams. Il n’est pas nécessaire de configurer toutes les propriétés de tous les sous-objets, car lors de leur création, elles sont initialisées avec des valeurs par défaut appropriées. Vous devez uniquement ajuster les propriétés dont vous souhaitez que les valeurs diffèrent des valeurs par défaut.
Lorsque vous configurez les paramètres à utiliser par les fonctions d’analyse de la mise en page, n’oubliez pas de définir correctement les valeurs des propriétés des sous-objets de PageProcessingParams qui affectent la reconnaissance. Cela est recommandé, car tous ces paramètres sont copiés dans les blocs créés pendant l’analyse de la mise en page, puis utilisés pour la reconnaissance. En outre, l’analyse de certaines parties de l’image peut faire intervenir la reconnaissance.
Si nécessaire, configurez les propriétés requises du sous-objet SynthesisParamsForDocument. Il n’est pas nécessaire de configurer toutes les propriétés de tous les objets et sous-objets, car lors de leur création, ils sont initialisés avec des valeurs par défaut appropriées. Vous devez uniquement ajuster les propriétés dont vous souhaitez que les valeurs diffèrent des valeurs par défaut. Vérifiez que la valeur de la propriété PerformSynthesis de l’objet DocumentProcessingParams est true.
Vous pouvez transmettre l’objet DocumentProcessingParams ou un ensemble de ses sous-objets à l’une des méthodes de traitement des objets FRDocument, FRPage et Engine.
Pour reconnaître un document, nous recommandons d’utiliser les méthodes de traitement de l’objet FRDocument. Cet objet fournit toute une série de méthodes de traitement. La méthode la plus pratique, qui permet d’effectuer le prétraitement, l’analyse, la reconnaissance et la synthèse en un seul appel, est la méthode Process. Elle exploite également de la manière la plus efficace les fonctionnalités de traitement simultané des systèmes multiprocesseurs et multicœurs. Cependant, vous pouvez aussi effectuer successivement le prétraitement, l’analyse, la reconnaissance et la synthèse à l’aide des méthodes correspondantes.
Code C#
FREngine.IEngine engine;FREngine.IFRDocument frdoc;// Nous supposons que le document a été créé et que des images y ont été ajoutées// Créez DocumentProcessingParams et définissez les paramètresFREngine.IDocumentProcessingParams dpp = engine.CreateDocumentProcessingParams();FREngine.IPageProcessingParams ppp = dpp.PageProcessingParams;ppp.PagePreprocessingParams.CorrectOrientationMode = COM_Auto;// Utilisez les paramètres pour le traitementfrDoc.Process( dpp );
Des procédures similaires sont utilisées dans les exemples de code suivants :