Pular para o conteúdo principal
Este objeto é implementado no FRE para Linux e Windows.
Este é um objeto processador que converte imagens de entrada em páginas reconhecidas (objetos FRPage). Quando o processador é inicializado, processos de reconhecimento assíncronos são iniciados e configurados. Em seguida, o processador obtém arquivos de imagem de uma origem de imagem personalizada. Para cada página do arquivo de imagem, uma nova tarefa de processamento é criada, e essa tarefa é atribuída a um dos processos de reconhecimento. Se todas as tarefas de um arquivo tiverem sido enviadas para processamento, mas nem todos os processos de reconhecimento estiverem ocupados, o próximo arquivo de imagem da fila de imagens da origem será obtido e enviado para processamento. Isso é feito até que a primeira página da imagem tenha sido convertida e retornada ao usuário. As páginas são retornadas ao usuário na ordem em que foram obtidas da origem de imagem. Para organizar o processamento com o Batch Processor, faça o seguinte:
  1. Implemente as interfaces IImageSource e IFileAdapter, que fornecem acesso à origem de imagem e aos arquivos nela contidos.
  2. [opcional] Implemente a interface IAsyncProcessingCallback para gerenciar o processamento. Os métodos dessa interface permitem tratar erros e/ou cancelar o processamento.
  3. Chame o método CreateBatchProcessor do objeto Engine, para obter o objeto BatchProcessor.
  4. Use a propriedade PageFlushingPolicy para definir o modo de trabalho com as páginas do documento na memória.
  5. Chame o método Start para inicializar o processador e iniciar processos de reconhecimento assíncronos. Você pode especificar a origem das imagens e as configurações de processamento nesse método.
  • O objeto BatchProcessor não pode ser reutilizado. Chamadas repetidas ao método Start causarão erros.
  • Não crie nem use vários Batch Processors simultaneamente, pois isso pode causar problemas na ordem de processamento das páginas.
  1. Chame o método GetNextProcessedPage em um loop até que o método retorne 0, o que significa que não há mais imagens na origem e que todas as imagens processadas já foram retornadas ao usuário.
A página retornada pelo método GetNextProcessedPage existe até a próxima chamada desse método. Portanto, se você quiser salvar essa página, deverá salvá-la usando os métodos do objeto FRPage ou adicioná-la a um documento existente usando o método IFRDocument::AddPage ANTES da próxima chamada do método GetNextProcessedPage.

Properties

NameTypeDescrição
ApplicationEngine, somente leituraRetorna o objeto Engine.
PageFlushingPolicyPageFlushingPolicyEnumEspecifica se os objetos ImageDocument e Layout das páginas correspondentes devem ser descarregados e salvos em disco quando não houver referências a esses objetos. <Note> No Linux, quando o valor desta propriedade é definido como PFP_KeepInMemory, os documentos de imagem e layouts das páginas não utilizadas não são salvos em disco. </Note> <Note> No Windows, para descarregar e salvar em disco os objetos ImageDocument e Layout de páginas individuais do documento, use o método IFRPage::Flush para as páginas correspondentes. </Note> Por padrão, esta propriedade é PFP_Auto.

Métodos

NomeDescrição
GetNextProcessedPageExecuta o processamento em segundo plano até que a próxima imagem reconhecida esteja disponível.
ProcessPageAsyncPermite repetir o processamento de uma página com outros parâmetros. A página pode ser inserida no início ou no fim da fila de processamento.
StartPrepara o Batch Processor para uso. O método inicia processos de reconhecimento assíncronos, especifica a origem das imagens e as configurações de processamento.

Parâmetro de saída

Este objeto é o parâmetro de saída do método CreateBatchProcessor do objeto Engine.

Exemplos

// Criar o Batch Processor
FREngine.IBatchProcessor batchProcessor = engine.CreateBatchProcessor();
FREngine.IFRDocument document = engine.CreateFRDocument();
// Inicializar o processador
FREngine.IImageSource imageSource = new CImageSource; // a classe é implementada pelo usuário
batchProcessor.PageFlushingPolicy = FREngine.PageFlushingPolicyEnum.PFP_KeepInMemory;
batchProcessor.Start( imageSource, null, null, null );
// Iniciar o processamento
while( true ) {
 FREngine.IFRPage page = batchProcessor.GetNextProcessedPage();
 if( page == null ) {
  break; // não há mais páginas; fim do processamento
 }
 // fazer algo com a página
 ...
 document.AddPage( page );
}
Este objeto é usado nos seguintes exemplos de código: BatchProcessing e nas ferramentas de demonstração: BatchProcessingRecognition.

Veja também

Processamento paralelo com ABBYY FineReader Engine IImageSource