Vai al contenuto principale
Questo metodo è implementato in FRE per Linux e Windows.
Questo metodo è implementato lato client. Restituisce il file immagine successivo dalla coda di elaborazione delle immagini della sorgente.
Per Windows, se si lavora con immagini già caricate in memoria (ad esempio, se si utilizzano i metodi OpenBitmap o OpenDib dell’oggetto Engine), implementare GetNextImageDocument.
Un’implementazione del metodo GetNextImageFile può prevedere un tempo di attesa per il file immagine successivo. Tuttavia, si sconsiglia di implementare tempi di attesa lunghi, poiché FineReader Engine non è multithread. Durante l’attesa del file successivo, Engine non sarà in grado di elaborare i messaggi provenienti dai processi di riconoscimento né di ricevere notifiche che segnalano che determinate pagine sono state elaborate. Se è davvero necessario specificare un tempo di attesa lungo, il metodo GetNextImageFile può restituire 0. In questo caso, Engine continuerà a elaborare i messaggi dei processi di riconoscimento e a fornire le immagini riconosciute e, dopo un certo tempo, verificherà se la coda delle immagini è vuota. Se la coda non è vuota (ossia, se IImageSource::IsEmpty restituisce FALSE), Engine richiamerà il metodo GetNextImageFile. Tuttavia, se il metodo GetNextImageFile restituisce 0 e non ci sono più pagine da elaborare, FineReader Engine restituirà il controllo all’utente: il metodo IBatchProcessor::GetNextProcessedPage restituirà 0.

Sintassi

C++

HRESULT GetNextImageFile( IFileAdapter** Result );

C#

IFileAdapter GetNextImageFile();

Visual Basic .NET

Function GetNextImageFile() As IFileAdapter

Parametri

Result [out, retval] Puntatore a una variabile puntatore IFileAdapter* che consente di accedere al file immagine successivo nella coda.

Valori di ritorno

[Solo per C++] Se questo metodo restituisce un valore diverso da S_OK, significa che si è verificato un errore lato client.

Osservazioni

  • L’implementazione client di questo metodo deve garantire che tutte le eccezioni generate al suo interno vengano intercettate e gestite e che nessuna eccezione venga propagata all’esterno. La propagazione di un’eccezione all’esterno del metodo può causare risultati imprevedibili (ad esempio, la terminazione del programma).
  • Se la tua licenza include il modulo Office Formats Opening, puoi usare questo metodo anche per aprire documenti digitali nei formati supportati.

Esempi

// Implementazione di esempio di un'origine di immagini personalizzata che gestisce una coda di file immagine
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
{
    ...
}

Vedere anche

IImageSource GetNextImageDocument IsEmpty IFileAdapter