> ## 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.

# IImageSource Schnittstelle

> IImageSource-Schnittstelle in der ABBYY FineReader Engine API — Dies ist die Schnittstelle für eine benutzerdefinierte Bildquelle.

<Note>
  Dieses Schnittstelle ist in FRE für Linux und Windows implementiert.
</Note>

Dies ist das Schnittstelle für eine benutzerdefinierte Bildquelle. Dieses Schnittstelle und alle seine Methoden sind clientseitig implementiert. Es wird vom Batch Processor (dem [BatchProcessor](/de/fine-reader/engine/api-reference/batch-processor/batchprocessor)-Objekt) verwendet.

Dieses Schnittstelle ermöglicht es Ihnen, eine Warteschlange für die Bildverarbeitung auf benutzerdefinierte Weise zu implementieren. Der Batch Processor ruft das nächste Bild aus dieser Queue über die Methoden GetNextImageFile oder GetNextImageDocument ab.

<Warning>
  Alle [ImageDocument](/de/fine-reader/engine/api-reference/image-related-objects/imagedocument)-Objekte in der Queue müssen bis zum Ende der Verarbeitung gültig sein. Für einen korrekten Betrieb sollten die ImageDocument-Objekte über das [Engine](/de/fine-reader/engine/api-reference/engine-object-iengine-interface)-Objekt erstellt werden. Werden sie über das [FRDocument](/de/fine-reader/engine/api-reference/document-related-objects/frdocument)-Objekt erstellt, kann ein Fehler auftreten, da das FRDocument-Objekt während des Aufrufs der Methode GetNextImageDocument möglicherweise bereits zerstört wurde.
</Warning>

<div id="methods">
  ## Methoden
</div>

| Name                                                                                                                  | Beschreibung                                                                                    |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| [GetNextImageDocument](/de/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagedocument-method) | Gibt das nächste Bilddokument aus der Warteschlange für die Bildverarbeitung der Quelle zurück. |
| [GetNextImageFile](/de/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagefile-method)         | Gibt die nächste Bilddatei aus der Warteschlange für die Bildverarbeitung der Quelle zurück.    |
| [IsEmpty](/de/fine-reader/engine/api-reference/batch-processor/iimagesource/isempty-method)                           | Prüft, ob die Warteschlange für die Bildverarbeitung der Quelle Bilddateien enthält.            |

<div id="input-parameter">
  ## Eingabeparameter
</div>

Die [Start](/de/fine-reader/engine/api-reference/batch-processor/batchprocessor/start-method)-Methode des [BatchProcessor](/de/fine-reader/engine/api-reference/batch-processor/batchprocessor)-Objekts erhält einen Zeiger auf diese Schnittstelle als Eingabeparameter.

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

<Accordion title="C#-Code">
  ```csharp theme={null}
  // Beispielimplementierung einer benutzerdefinierten Bildquelle, die eine Queue von Bilddateien verwaltet
  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>

Das Interface wird in den folgenden Codebeispielen verwendet: [BatchProcessing](/de/fine-reader/engine/guided-tour/samples#batchprocessing); sowie in den Windows-Demo-Tools: [BatchProcessingRecognition](/de/fine-reader/engine/guided-tour/samples#batchprocessingrecognition).

<div id="see-also">
  ## Siehe auch
</div>

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