BatchProcessor Object (IBatchProcessor Interface)
This is a processor object which converts input images into the recognized pages (FRPage objects).
When processor is initialized, asynchronous recognition processes are invoked and configured. Then the processor takes image files from a custom image source. For each page of the image file a new processing task is created, and this task is passed to one of the recognition processes. If all the tasks for one file have been passed for processing, but not all of the recognition processes are occupied, the next image file from the image queue of the source is taken and passed for processing. This is done until the first image page has been converted and passed to the user. Pages are returned to the user in the order they have been taken from the image source.
To organize processing with the Batch Processor, do the following:
- Implement the IImageSource and IFileAdapter interfaces, which provide access to the image source and files in it.
- [optional] Implement the IAsyncProcessingCallback interface to manage the processing. The methods of this interface allow you to handle errors and/or cancel the processing.
- Call the CreateBatchProcessor method of the Engine object, to receive the BatchProcessor object.
- Use the PageFlushingPolicy property to set the mode of working with document pages in memory.
- Call the Start method to initialize the processor and invoke asynchronous recognition processes. You can specify the source of images and processing settings in this method.
Notes:
- The BatchProcessor object cannot be reused. Repeated calls to the Start method will cause errors.
- Do not create and use several Batch Processors simultaneously, as this may lead to the confusion of processing pages.
- Call the GetNextProcessedPage method in a loop until the method returns 0, which means that there are no more images in the source and all the processed images have been returned to the user.
Important! The page returned by the GetNextProcessedPage method exists until the next call of this method. Therefore, if you want to save this page, you must save it using the methods of the FRPage object or add it to an existing document using the IFRDocument::AddPage method BEFORE the next call of the GetNextProcessedPage method.
Properties
Name | Type | Description |
---|---|---|
Application | Engine, read-only | Returns the Engine object. |
PageFlushingPolicy | PageFlushingPolicyEnum |
Specifies if the ImageDocument and the Layout objects for corresponding pages should be unloaded and saved to disk if there are no references to these objects. When this property value is set to PFP_KeepInMemory, the image documents and layouts for unused pages are not saved to disk. This property is PFP_Auto by default. |
Methods
Name | Description |
---|---|
GetNextProcessedPage | Provides the background processing until the next recognized image is available. |
ProcessPageAsync | Allows you to repeat processing of a page with another parameters. The page can be pushed at the beginning or at the end of the processing queue. |
Start | Prepares the Batch Processor for work. The method invokes asynchronous recognition processes, specifies the source of images and processing settings. |
Output parameter
This object is the output parameter of the CreateBatchProcessor method of the Engine object.
Samples
This object is used in the following code samples: BatchProcessing.
See also
03.07.2024 8:50:25