Saltar al contenido principal
Este objeto está implementado en FRE para Linux y Windows.
Este objeto procesador convierte imágenes de entrada en páginas reconocidas (objetos FRPage). Cuando se inicializa el procesador, se invocan y configuran procesos de reconocimiento asíncronos. A continuación, el procesador toma archivos de imagen de un origen de imágenes personalizado. Para cada página del archivo de imagen, se crea una nueva tarea de procesamiento y esta tarea se asigna a uno de los procesos de reconocimiento. Si todas las tareas de un archivo ya se han enviado a procesamiento, pero no todos los procesos de reconocimiento están ocupados, se toma el siguiente archivo de imagen de la cola de imágenes del origen y se envía a procesamiento. Esto continúa hasta que la primera página de imagen se ha convertido y entregado al usuario. Las páginas se devuelven al usuario en el mismo orden en que se obtuvieron del origen de imágenes. Para organizar el procesamiento con Batch Processor, haga lo siguiente:
  1. Implemente las interfaces IImageSource e IFileAdapter, que proporcionan acceso al origen de imágenes y a los archivos que contiene.
  2. [opcional] Implemente la interfaz IAsyncProcessingCallback para gestionar el procesamiento. Los métodos de esta interfaz le permiten controlar errores y/o cancelar el procesamiento.
  3. Llame al método CreateBatchProcessor del objeto Engine para obtener el objeto BatchProcessor.
  4. Use la propiedad PageFlushingPolicy para establecer el modo de trabajo con las páginas del documento en memoria.
  5. Llame al método Start para inicializar el procesador e invocar procesos de reconocimiento asíncronos. En este método, puede especificar el origen de las imágenes y la configuración de procesamiento.
  • El objeto BatchProcessor no puede reutilizarse. Las llamadas repetidas al método Start provocarán errores.
  • No cree ni use varios Batch Processors simultáneamente, ya que esto puede causar confusión en el procesamiento de páginas.
  1. Llame al método GetNextProcessedPage en un bucle hasta que el método devuelva 0, lo que significa que ya no quedan más imágenes en el origen y que todas las imágenes procesadas ya se han devuelto al usuario.
La página devuelta por el método GetNextProcessedPage existe hasta la siguiente llamada a este método. Por lo tanto, si quiere guardar esta página, debe hacerlo mediante los métodos del objeto FRPage o añadirla a un documento existente mediante el método IFRDocument::AddPage ANTES de la siguiente llamada al método GetNextProcessedPage.

Propiedades

NombreTipoDescripción
ApplicationEngine, de solo lecturaDevuelve el objeto Engine.
PageFlushingPolicyPageFlushingPolicyEnumEspecifica si los objetos ImageDocument y Layout de las páginas correspondientes deben descargarse y guardarse en disco si no existen referencias a ellos. <Note> En Linux, cuando el valor de esta propiedad se establece en PFP_KeepInMemory, los documentos de imagen y los layouts de las páginas no utilizadas no se guardan en disco. </Note> <Note> En Windows, para descargar y guardar en disco los objetos ImageDocument y Layout de páginas individuales del documento, use el método IFRPage::Flush para las páginas correspondientes. </Note> De forma predeterminada, esta propiedad es PFP_Auto.

Métodos

NombreDescripción
GetNextProcessedPageContinúa el procesamiento en segundo plano hasta que esté disponible la siguiente imagen reconocida.
ProcessPageAsyncLe permite repetir el procesamiento de una página con otros parámetros. La página puede colocarse al principio o al final de la cola de procesamiento.
StartPrepara el Batch Processor para su uso. El método invoca procesos de reconocimiento asíncronos, especifica el origen de las imágenes y la configuración de procesamiento.

Parámetro de salida

Este objeto es el parámetro de salida del método CreateBatchProcessor del objeto Engine.

Ejemplos

// Crear el Batch Processor
FREngine.IBatchProcessor batchProcessor = engine.CreateBatchProcessor();
FREngine.IFRDocument document = engine.CreateFRDocument();
// Inicializar el procesador
FREngine.IImageSource imageSource = new CImageSource; // el usuario implementa la clase
batchProcessor.PageFlushingPolicy = FREngine.PageFlushingPolicyEnum.PFP_KeepInMemory;
batchProcessor.Start( imageSource, null, null, null );
// Iniciar el procesamiento
while( true ) {
 FREngine.IFRPage page = batchProcessor.GetNextProcessedPage();
 if( page == null ) {
  break; // no hay más páginas; fin del proceso
 }
 // hacer algo con la página
 ...
 document.AddPage( page );
}
Este objeto se utiliza en los siguientes ejemplos de código: BatchProcessing y en las siguientes herramientas de demostración: BatchProcessingRecognition.

Consulte también

Procesamiento en paralelo con ABBYY FineReader Engine IImageSource