메인 콘텐츠로 건너뛰기
이 객체는 Linux 및 Windows용 FRE에서 구현됩니다.
이 객체는 입력 이미지를 인식된 페이지(FRPage 객체)로 변환하는 processor 객체입니다. processor가 초기화되면 비동기 인식 프로세스가 시작되고 구성됩니다. 그런 다음 processor는 사용자 지정 이미지 소스에서 이미지 파일을 가져옵니다. 이미지 파일의 각 페이지마다 새 처리 작업이 생성되며, 이 작업은 인식 프로세스 중 하나로 전달됩니다. 한 파일의 모든 작업이 처리용으로 전달되었지만 모든 인식 프로세스가 사용 중인 것은 아닌 경우, 소스의 이미지 큐에서 다음 이미지 파일을 가져와 처리에 넘깁니다. 이 과정은 첫 번째 image page가 변환되어 사용자에게 전달될 때까지 계속됩니다. 페이지는 이미지 소스에서 가져온 순서대로 사용자에게 반환됩니다. Batch Processor로 처리를 구성하려면 다음 단계를 따르세요.
  1. 이미지 소스와 그 안의 파일에 대한 액세스를 제공하는 IImageSourceIFileAdapter 인터페이스를 구현합니다.
  2. [선택 사항] 처리를 관리하려면 IAsyncProcessingCallback 인터페이스를 구현합니다. 이 인터페이스의 메서드를 사용하면 오류를 처리하거나 처리를 취소할 수 있습니다.
  3. BatchProcessor 객체를 받으려면 엔진 객체의 CreateBatchProcessor 메서드를 호출합니다.
  4. 메모리의 문서 페이지 처리 모드를 설정하려면 PageFlushingPolicy 속성을 사용합니다.
  5. processor를 초기화하고 비동기 인식 프로세스를 시작하려면 Start 메서드를 호출합니다. 이 메서드에서 이미지 소스와 처리 설정을 지정할 수 있습니다.
  • BatchProcessor 객체는 재사용할 수 없습니다. Start 메서드를 반복 호출하면 오류가 발생합니다.
  • 여러 Batch Processor를 동시에 생성하여 사용하지 마십시오. 처리 중인 페이지가 뒤섞일 수 있습니다.
  1. 메서드가 0을 반환할 때까지 루프에서 GetNextProcessedPage 메서드를 호출합니다. 이는 소스에 더 이상 이미지가 없고 처리된 모든 이미지가 사용자에게 반환되었음을 의미합니다.
GetNextProcessedPage 메서드가 반환한 페이지는 이 메서드를 다음에 호출할 때까지만 존재합니다. 따라서 이 페이지를 저장하려면, GetNextProcessedPage 메서드를 다음에 호출하기 전에 FRPage 객체의 메서드를 사용해 저장하거나 IFRDocument::AddPage 메서드를 사용해 기존 문서에 추가해야 합니다.

속성

이름유형설명
ApplicationEngine, 읽기 전용엔진 객체를 반환합니다.
PageFlushingPolicyPageFlushingPolicyEnum해당 객체를 참조하는 항목이 없을 때, 해당 페이지의 ImageDocumentLayout 객체를 메모리에서 언로드하고 디스크에 저장할지 여부를 지정합니다. <Note> Linux에서는 이 속성 값이 PFP_KeepInMemory로 설정되면 사용되지 않는 페이지의 이미지 문서와 레이아웃이 디스크에 저장되지 않습니다. </Note> <Note> Windows에서 문서의 개별 페이지에 대한 ImageDocument 및 Layout 객체를 언로드하여 디스크에 저장하려면, 해당 페이지에 IFRPage::Flush 메서드를 사용합니다. </Note> 이 속성의 기본값은 PFP_Auto입니다.

메서드

이름설명
GetNextProcessedPage다음 인식 이미지가 준비될 때까지 백그라운드에서 처리를 수행합니다.
ProcessPageAsync다른 매개변수로 페이지를 다시 처리할 수 있습니다. 페이지는 처리 대기열의 앞이나 뒤에 추가할 수 있습니다.
StartBatch Processor가 작업을 시작할 수 있도록 준비합니다. 이 메서드는 비동기 인식 프로세스를 시작하고 이미지 소스와 처리 설정을 지정합니다.

출력 매개변수

이 객체는 엔진 객체의 CreateBatchProcessor 메서드에 대한 출력 매개변수입니다.

샘플

// Batch Processor 생성
FREngine.IBatchProcessor batchProcessor = engine.CreateBatchProcessor();
FREngine.IFRDocument document = engine.CreateFRDocument();
// 프로세서 초기화
FREngine.IImageSource imageSource = new CImageSource; // 이 클래스는 사용자가 구현합니다
batchProcessor.PageFlushingPolicy = FREngine.PageFlushingPolicyEnum.PFP_KeepInMemory;
batchProcessor.Start( imageSource, null, null, null );
// 처리 시작
while( true ) {
 FREngine.IFRPage page = batchProcessor.GetNextProcessedPage();
 if( page == null ) {
  break; // 더 이상 페이지가 없으므로 작업 종료
 }
 // 페이지에 대해 필요한 작업 수행
 ...
 document.AddPage( page );
}
이 객체는 다음 코드 샘플 BatchProcessing 및 데모 도구 BatchProcessingRecognition에서 사용됩니다.

참고 항목

ABBYY FineReader Engine을 사용한 병렬 처리 IImageSource