Saltar al contenido principal
Este método está implementado en FRE para Linux y Windows.
Este método está implementado del lado del cliente. Devuelve el siguiente archivo de imagen de la cola de procesamiento de imágenes del origen.
En Windows, si trabaja con imágenes que ya se han cargado en la memoria (por ejemplo, si usa los métodos OpenBitmap o OpenDib del objeto Engine), implemente GetNextImageDocument.
Una implementación del método GetNextImageFile puede incluir un tiempo de espera para el siguiente archivo de imagen. Sin embargo, no recomendamos implementar tiempos de espera prolongados, ya que FineReader Engine no es multihilo. Mientras espera el siguiente archivo, Engine no podrá procesar mensajes de los procesos de reconocimiento ni recibir notificaciones de que determinadas páginas ya se han procesado. Si realmente necesita especificar un tiempo de espera prolongado, el método GetNextImageFile puede devolver 0. En este caso, Engine seguirá procesando mensajes de los procesos de reconocimiento y proporcionando imágenes reconocidas y, al cabo de un tiempo, comprobará si la cola de imágenes está vacía. Si la cola no está vacía (es decir, si IImageSource::IsEmpty devuelve FALSE), Engine volverá a llamar al método GetNextImageFile. Sin embargo, si el método GetNextImageFile devuelve 0 y no quedan más páginas por procesar, FineReader Engine devolverá el control al usuario: el método IBatchProcessor::GetNextProcessedPage devolverá 0.

Sintaxis

C++

HRESULT GetNextImageFile( IFileAdapter** Result );

C#

IFileAdapter GetNextImageFile();

Visual Basic .NET

Function GetNextImageFile() As IFileAdapter

Parámetros

Result [out, retval] Puntero a una variable de tipo puntero IFileAdapter* que proporciona acceso al siguiente archivo de imagen de la cola.

Valores de retorno

[Solo para C++] Si este método devuelve un valor distinto de S_OK, significa que se produjo un error del lado del cliente.

Observaciones

  • La implementación cliente de este método debe asegurarse de que todas las excepciones que se produzcan dentro del método se capturen y se controlen, y de que ninguna se propague fuera de él. La propagación de una excepción fuera del método puede dar lugar a resultados imprevisibles (como la finalización del programa).
  • Si su licencia incluye el módulo Apertura de formatos ofimáticos, también puede usar este método para abrir documentos digitales en formatos compatibles.

Ejemplos

// Implementación de ejemplo de un origen de imágenes personalizado que mantiene una cola de archivos de imagen
public class ImageSourceCallback : FREngine.IImageSource
{
   public ImageSourceCallback( string imageFilesDirectory )
   {
       imageFiles = ImageSourceHelper.LoadFilesNames( imageFilesDirectory );
       nextFileIndex = 0;
   }
   public bool IsEmpty()
   {
       return nextFileIndex >= imageFiles.Length;
   }
   public FREngine.IFileAdapter GetNextImageFile()
   {
       if( !IsEmpty() ) {
           return new FileAdapterCallback( imageFiles[nextFileIndex++] );
       }
       return null;
   }
   public FREngine.IImageDocument GetNextImageDocument()
   {
       ...
   }
   private string[] imageFiles;
   private int nextFileIndex;
}
public class FileAdapterCallback : FREngine.IFileAdapter
{
    ...
}
public class ImageSourceHelper
{
    ...
}

Consulte también

IImageSource GetNextImageDocument IsEmpty IFileAdapter