> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Objet BatchProcessor (interface IBatchProcessor)

> Objet BatchProcessor (interface IBatchProcessor) dans l’API ABBYY FineReader Engine — Il s’agit d’un objet de traitement qui convertit les images d’entrée en pages reconnues (objets FRPage).

<Note>
  Cet objet est implémenté dans FRE pour Linux et Windows.
</Note>

Il s’agit d’un objet de traitement qui convertit les images d’entrée en pages reconnues (objets [FRPage](/fr/fine-reader/engine/api-reference/document-related-objects/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](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource) et [IFileAdapter](/fr/fine-reader/engine/api-reference/batch-processor/ifileadapter), qui fournissent l’accès à la source d’images et aux fichiers qu’elle contient.
2. \[facultatif] Implémentez l’interface [IAsyncProcessingCallback](/fr/fine-reader/engine/api-reference/batch-processor/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](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) de l’objet [Engine](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface) 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.

6. 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.

<Warning>
  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](/fr/fine-reader/engine/api-reference/document-related-objects/frpage) ou l’ajouter à un document existant à l’aide de la méthode [IFRDocument::AddPage](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument/addpage-method) AVANT le prochain appel de la méthode GetNextProcessedPage.
</Warning>

<div id="properties">
  ## Propriétés
</div>

| Nom                | Type                                                                                                                                                                                                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Application        | [Engine](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface), [lecture seule](/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties) | Renvoie l'objet Engine.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| PageFlushingPolicy | [PageFlushingPolicyEnum](/fr/fine-reader/engine/api-reference/enumerations/pageflushingpolicyenum)                                                                                                                      | Indique si les objets [ImageDocument](/fr/fine-reader/engine/api-reference/image-related-objects/imagedocument) et [Layout](/fr/fine-reader/engine/api-reference/layout-related-objects/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](/fr/fine-reader/engine/api-reference/document-related-objects/frpage/flush-method) pour les pages correspondantes. </Note> Cette propriété est définie sur PFP\_Auto par défaut. |

<div id="methods">
  ## Méthodes
</div>

| Nom                                                                                                                     | Description                                                                                                                                                                |
| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetNextProcessedPage](/fr/fine-reader/engine/api-reference/batch-processor/batchprocessor/getnextprocessedpage-method) | Assure le traitement en arrière-plan jusqu’à ce que l’image reconnue suivante soit disponible.                                                                             |
| [ProcessPageAsync](/fr/fine-reader/engine/api-reference/batch-processor/batchprocessor/processpageasync-method)         | Permet 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.                              |
| [Start](/fr/fine-reader/engine/api-reference/batch-processor/batchprocessor/start-method)                               | Pré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. |

<div id="output-parameter">
  ## Paramètre de sortie
</div>

Cet objet est le paramètre de sortie de la méthode [CreateBatchProcessor](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) de l’objet [Engine](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface).

<div id="samples">
  ## Exemples
</div>

<Accordion title="Code C#">
  ```csharp theme={null}
  // 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 );
  }
  ```
</Accordion>

Cet objet est utilisé dans les exemples de code suivants : [BatchProcessing](/fr/fine-reader/engine/guided-tour/samples#batchprocessing) et dans les outils de démonstration : [BatchProcessingRecognition](/fr/fine-reader/engine/guided-tour/samples#batchprocessingrecognition).

<div id="see-also">
  ## Voir aussi
</div>

[Traitement parallèle avec ABBYY FineReader Engine](/fr/fine-reader/engine/guided-tour/advanced-techniques/parallel-processing)

[IImageSource](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource)
