Passer au contenu principal
Cette méthode est implémentée dans FRE pour Linux et Windows.
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.
Sous Windows, si vous travaillez avec des images déjà chargées en mémoire (par exemple, si vous utilisez les méthodes OpenBitmap ou OpenDib de l’objet Engine), implémentez GetNextImageDocument.
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 n’est pas vide (c’est-à-dire si IImageSource::IsEmpty 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 renverra 0.

Syntaxe

C++

HRESULT GetNextImageFile( IFileAdapter** Result );

C#

IFileAdapter GetNextImageFile();

Visual Basic .NET

Function GetNextImageFile() As IFileAdapter

Paramètres

Result [out, retval] Pointeur vers un pointeur IFileAdapter* donnant accès au fichier image suivant dans la file d’attente.

Valeurs de retour

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

Remarques

  • 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, vous pouvez également utiliser cette méthode pour ouvrir des documents numériques dans des formats pris en charge.

Exemples

// 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
{
    ...
}

Voir aussi

IImageSource GetNextImageDocument IsEmpty IFileAdapter