Passer au contenu principal
Cet objet est implémenté dans FRE pour Linux et Windows.
Il s’agit d’un objet de traitement qui convertit les images d’entrée en pages reconnues (objets FRPage). Lors de l’initialisation du processeur, des processus de reconnaissance asynchrones sont lancés et configurés. Le processeur récupère ensuite les fichiers image à partir d’une source d’images personnalisée. Pour chaque page d’un fichier image, une nouvelle tâche de traitement est créée, puis transmise à l’un des processus de reconnaissance. Si toutes les tâches d’un fichier ont été envoyées au traitement, mais que tous les processus de reconnaissance ne sont pas encore occupés, le fichier image suivant de la file d’images de la source est récupéré et envoyé au traitement. Ce processus se poursuit jusqu’à ce que la première page image ait été convertie et transmise à l’utilisateur. Les pages sont renvoyées à l’utilisateur dans l’ordre dans lequel elles ont été récupérées depuis la source d’images. Pour organiser le traitement avec le Batch Processor, procédez comme suit :
  1. Implémentez les interfaces IImageSource et IFileAdapter, qui fournissent l’accès à la source d’images et aux fichiers qu’elle contient.
  2. [facultatif] Implémentez l’interface IAsyncProcessingCallback pour gérer le traitement. Les méthodes de cette interface vous permettent de gérer les erreurs et/ou d’annuler le traitement.
  3. Appelez la méthode CreateBatchProcessor de l’objet Engine afin d’obtenir l’objet BatchProcessor.
  4. Utilisez la propriété PageFlushingPolicy pour définir le mode de gestion des pages du document en mémoire.
  5. Appelez la méthode Start pour initialiser le processeur et lancer des processus de reconnaissance asynchrones. Vous pouvez spécifier dans cette méthode la source des images et les paramètres de traitement.
  • L’objet BatchProcessor ne peut pas être réutilisé. Des appels répétés à la méthode Start provoqueront des erreurs.
  • Ne créez pas et n’utilisez pas plusieurs objets BatchProcessor simultanément, car cela peut entraîner une confusion dans le traitement des pages.
  1. Appelez la méthode GetNextProcessedPage dans une boucle jusqu’à ce qu’elle renvoie 0, ce qui signifie qu’il n’y a plus d’images dans la source et que toutes les images traitées ont été renvoyées à l’utilisateur.
La page renvoyée par la méthode GetNextProcessedPage existe jusqu’au prochain appel de cette méthode. Par conséquent, si vous souhaitez enregistrer cette page, vous devez le faire à l’aide des méthodes de l’objet FRPage ou l’ajouter à un document existant à l’aide de la méthode IFRDocument::AddPage AVANT le prochain appel de la méthode GetNextProcessedPage.

Propriétés

NomTypeDescription
ApplicationEngine, lecture seuleRenvoie l’objet Engine.
PageFlushingPolicyPageFlushingPolicyEnumIndique si les objets ImageDocument et Layout des pages correspondantes doivent être déchargés et enregistrés sur le disque lorsqu’il n’existe plus de référence à ces objets. <Note> Sous Linux, lorsque la valeur de cette propriété est définie sur PFP_KeepInMemory, les documents image et les mises en page des pages inutilisées ne sont pas enregistrés sur le disque. </Note> <Note> Sous Windows, pour décharger et enregistrer sur le disque les objets ImageDocument et Layout de pages distinctes du document, utilisez la méthode IFRPage::Flush pour les pages correspondantes. </Note> Cette propriété est définie sur PFP_Auto par défaut.

Méthodes

NomDescription
GetNextProcessedPageAssure le traitement en arrière-plan jusqu’à ce que l’image reconnue suivante soit disponible.
ProcessPageAsyncPermet de relancer le traitement d’une page avec d’autres paramètres. La page peut être placée au début ou à la fin de la file de traitement.
StartPrépare le Batch Processor au fonctionnement. La méthode lance des processus de reconnaissance asynchrones, spécifie la source des images et les paramètres de traitement.

Paramètre de sortie

Cet objet est le paramètre de sortie de la méthode CreateBatchProcessor de l’objet Engine.

Exemples

// Créer le Batch Processor
FREngine.IBatchProcessor batchProcessor = engine.CreateBatchProcessor();
FREngine.IFRDocument document = engine.CreateFRDocument();
// Initialiser le Batch Processor
FREngine.IImageSource imageSource = new CImageSource; // la classe est implémentée par l'utilisateur
batchProcessor.PageFlushingPolicy = FREngine.PageFlushingPolicyEnum.PFP_KeepInMemory;
batchProcessor.Start( imageSource, null, null, null );
// Démarrer le traitement
while( true ) {
 FREngine.IFRPage page = batchProcessor.GetNextProcessedPage();
 if( page == null ) {
  break; // il n'y a plus de pages, fin du traitement
 }
 // effectuer une opération sur la page
 ...
 document.AddPage( page );
}
Cet objet est utilisé dans les exemples de code suivants : BatchProcessing et dans les outils de démonstration : BatchProcessingRecognition.

Voir aussi

Traitement parallèle avec ABBYY FineReader Engine IImageSource