> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Interfaz IImageSource

> Interfaz IImageSource en la API de ABBYY FineReader Engine — Esta es la interfaz para una fuente personalizada de imágenes.

<Note>
  Esta interfaz se implementa en FRE para Linux y Windows.
</Note>

Esta es la interfaz para una fuente de imágenes personalizada. Esta interfaz y todos sus métodos se implementan del lado del cliente. Batch Processor (el objeto [BatchProcessor](/es/fine-reader/engine/api-reference/batch-processor/batchprocessor)) usa esta interfaz.

Esta interfaz le permite implementar de forma personalizada una cola de procesamiento de imágenes. Batch Processor solicita la siguiente imagen de esta cola mediante los métodos GetNextImageFile o GetNextImageDocument.

<Warning>
  Todos los objetos [ImageDocument](/es/fine-reader/engine/api-reference/image-related-objects/imagedocument) de la cola deben seguir siendo válidos hasta el final del procesamiento. Para que el funcionamiento sea correcto, los objetos ImageDocument deben crearse mediante el objeto [Engine](/es/fine-reader/engine/api-reference/engine-object-iengine-interface). Si se crean mediante el objeto [FRDocument](/es/fine-reader/engine/api-reference/document-related-objects/frdocument), puede producirse un error porque el objeto FRDocument se destruye durante la llamada al método GetNextImageDocument.
</Warning>

<div id="methods">
  ## Métodos
</div>

| Nombre                                                                                                                | Descripción                                                                                     |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| [GetNextImageDocument](/es/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagedocument-method) | Devuelve el siguiente documento de imagen de la cola de procesamiento de imágenes de la fuente. |
| [GetNextImageFile](/es/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagefile-method)         | Devuelve el siguiente archivo de imagen de la cola de procesamiento de imágenes de la fuente.   |
| [IsEmpty](/es/fine-reader/engine/api-reference/batch-processor/iimagesource/isempty-method)                           | Comprueba si la cola de procesamiento de imágenes de la fuente contiene archivos de imagen.     |

<div id="input-parameter">
  ## Parámetro de entrada
</div>

El método [Start](/es/fine-reader/engine/api-reference/batch-processor/batchprocessor/start-method) del objeto [BatchProcessor](/es/fine-reader/engine/api-reference/batch-processor/batchprocessor) recibe un puntero a esta interfaz como parámetro de entrada.

<div id="samples">
  ## Ejemplos
</div>

<Accordion title="Código C#">
  ```csharp theme={null}
  // 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
  {
      ...
  }
  ```
</Accordion>

La interfaz se usa en los siguientes ejemplos de código: [BatchProcessing](/es/fine-reader/engine/guided-tour/samples#batchprocessing); y en las herramientas de demostración para Windows: [BatchProcessingRecognition](/es/fine-reader/engine/guided-tour/samples#batchprocessingrecognition).

<div id="see-also">
  ## Consulte también
</div>

[BatchProcessor](/es/fine-reader/engine/api-reference/batch-processor/batchprocessor)
