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

# Méthode GetNextImageFile de l’interface IImageSource

> Méthode GetNextImageFile de l’interface IImageSource dans l’API ABBYY FineReader Engine — Cette méthode est implémentée côté client.

<Note>
  Cette méthode est implémentée dans FRE pour Linux et Windows.
</Note>

Cette méthode est implémentée côté client. Elle renvoie le fichier image suivant de la file d’attente de traitement d’images de la source.

<Note>
  Sous Windows, si vous travaillez avec des images déjà chargées en mémoire (par exemple, si vous utilisez les méthodes [OpenBitmap](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmap-method) ou [OpenDib](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/opendib-method) de l’objet [Engine](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface)), implémentez [GetNextImageDocument](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagedocument-method).
</Note>

Une implémentation de la méthode GetNextImageFile peut inclure un délai d’attente avant l’arrivée du fichier image suivant. Cependant, nous ne recommandons pas d’implémenter des délais d’attente longs, car FineReader Engine n’est pas multithread. Pendant qu’il attend le fichier suivant, l’Engine ne pourra pas traiter les messages des processus de reconnaissance ni recevoir les notifications indiquant que certaines pages ont été traitées. Si vous devez malgré tout spécifier un délai d’attente long, la méthode GetNextImageFile peut renvoyer 0. Dans ce cas, l’Engine continuera à traiter les messages des processus de reconnaissance et à fournir les images reconnues, puis vérifiera au bout d’un moment si la file d’attente d’images est vide. Si la file d’attente n’est pas vide (c’est-à-dire si [IImageSource::IsEmpty](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource/isempty-method) renvoie FALSE), l’Engine appellera de nouveau la méthode GetNextImageFile. En revanche, si la méthode GetNextImageFile renvoie 0 et qu’il n’y a plus de pages à traiter, FineReader Engine rendra le contrôle à l’utilisateur : la méthode [IBatchProcessor::GetNextProcessedPage](/fr/fine-reader/engine/api-reference/batch-processor/batchprocessor/getnextprocessedpage-method) renverra 0.

<div id="syntax">
  ## Syntaxe
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT GetNextImageFile( IFileAdapter** Result );
```

### C\#

```csharp theme={null}
IFileAdapter GetNextImageFile();
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
Function GetNextImageFile() As IFileAdapter
```

<div id="parameters">
  ## Paramètres
</div>

Result

\[out, retval] Pointeur vers un pointeur [IFileAdapter](/fr/fine-reader/engine/api-reference/batch-processor/ifileadapter)\* donnant accès au fichier image suivant dans la file d'attente.

<div id="return-values">
  ## Valeurs de retour
</div>

\[C++ uniquement] Si cette méthode renvoie une valeur autre que S\_OK, cela indique qu’une erreur s’est produite côté client.

<div id="remarks">
  ## Remarques
</div>

* L’implémentation côté client de cette méthode doit garantir que toutes les exceptions levées à l’intérieur de la méthode sont interceptées et traitées, et qu’aucune exception n’est propagée en dehors de la méthode. La propagation d’une exception en dehors de la méthode peut entraîner des résultats imprévisibles (comme l’arrêt du programme).
* Si votre licence inclut le module [Office Formats Opening](/fr/fine-reader/engine/licensing/modules#officeformatsopening), vous pouvez également utiliser cette méthode pour ouvrir des documents numériques dans des [formats pris en charge](/fr/fine-reader/engine/specifications/supported-digital-document-input-formats).

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

<Accordion title="Code C#">
  ```csharp theme={null}
  // Exemple d’implémentation d’une source d’images personnalisée qui gère une file d’attente de fichiers d’image
  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>

<div id="see-also">
  ## Voir aussi
</div>

[IImageSource](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource)

[GetNextImageDocument](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagedocument-method)

[IsEmpty](/fr/fine-reader/engine/api-reference/batch-processor/iimagesource/isempty-method)

[IFileAdapter](/fr/fine-reader/engine/api-reference/batch-processor/ifileadapter)
