Passer au contenu principal
Cette méthode ouvre le fichier image spécifié et ajoute au document les pages du fichier ouvert.

Syntaxe

C++

HRESULT AddImageFile(
  BSTR               ImageFileName,
  IPrepareImageMode* PrepareMode,
  IIntsCollection*   PageIndices
);

C#

void AddImageFile(
  string           ImageFileName,
  IPrepareImageMode PrepareMode,
  IIntsCollection   PageIndices
);

Visual Basic .NET

Sub AddImageFile( _
  ImageFileName As String, _
  [PrepareMode As IPrepareImageMode = Nothing], _
  [PageIndices As IIntsCollection = Nothing] _
)

Paramètres

ImageFileName [in] Cette variable contient le chemin d’accès complet du fichier image à ouvrir. PrepareMode [in] Ce paramètre fait référence à l’objet PrepareImageMode, qui spécifie comment une image sera prétraitée lors de l’ouverture. PageIndices [in] Ce paramètre fait référence à l’objet IntsCollection, qui spécifie les indices des pages à ajouter à un document. Notez que les indices en double ne sont pas autorisés. Pour ajouter plusieurs fois la même page, veuillez appeler cette méthode plusieurs fois.
Ce paramètre est facultatif et peut être égal à 0, auquel cas toutes les pages du fichier ouvert seront ajoutées au document.

Valeurs de retour

Cette méthode n’a pas de valeurs de retour spécifiques. Elle renvoie les valeurs de retour standard des fonctions d’ABBYY FineReader Engine.

Remarques

  • Lors de l’ouverture d’un fichier PDF Portfolio à l’aide de cette méthode, sa page de garde est toujours incluse dans le fichier de sortie.
  • Cette méthode peut transmettre des événements aux écouteurs associés à l’interface IConnectionPointContainer de l’objet FRDocument.
  • Pour Linux et Windows :

Exemples

Cet exemple Windows montre comment interrompre l’ajout d’une page à un document si l’opération prend trop de temps.
// Activer le délai d’expiration si le chargement de l’image prend trop de temps
frDocumentCallback.SetShouldTrackTime( true );
frDocumentCallback.FlushTimer();
// Appeler la méthode AddImageFile pour ouvrir un fichier image
CheckResult( frDocument->AddImageFile( imageFilePath, 0, pageIndices ) );
// Désactiver le délai d’expiration pour le traitement suivant
frDocumentCallback.SetShouldTrackTime( false );
...
// Utiliser l’interface de rappel IFRDocumentEvents pour signaler les événements
class CFRDocumentCallback: public IFRDocumentEvents {
public:
    CFRDocumentCallback() : startTime( 0 ) {}
 
    // Implémenter les méthodes IUnknown
    ULONG STDMETHODCALLTYPE AddRef() { return 1; }
    ULONG STDMETHODCALLTYPE Release() { return 1; }
    HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void** ppObject );
    HRESULT STDMETHODCALLTYPE OnProgress( IFRDocument* document, int percentage, VARIANT_BOOL* ShouldContinue );
    HRESULT STDMETHODCALLTYPE OnWarning( IFRDocument* frPage, int pageNumber, BSTR recognizerTip, 
        VARIANT_BOOL* ShouldContinue );
    HRESULT STDMETHODCALLTYPE OnPageProcessed( IFRDocument* document, int pageNumber, PageProcessingStageEnum stage );
    void FlushTimer();
    void SetShouldTrackTime( bool _shouldTrackTime );
private:
    time_t startTime;
    bool shouldTrackTime = true;
};
// Appeler la méthode FlushTimer pour réinitialiser startTime
void CFRDocumentCallback::FlushTimer() {
    time( &startTime );
}
// Ce rappel peut être utilisé dans d’autres méthodes ; définissez donc shouldTrackTime sur FALSE si vous ne souhaitez plus réinitialiser le délai d’expiration
void CFRDocumentCallback::SetShouldTrackTime( bool _shouldTrackTime ) {
    shouldTrackTime = _shouldTrackTime;
}
 
// Si l’écart entre l’heure actuelle et "startTime" dépasse un certain seuil, le processus sera interrompu. La méthode AddImageFile transmet 0 
// au lieu du pourcentage à la méthode OnProgress
HRESULT STDMETHODCALLTYPE CFRDocumentCallback::OnProgress( IFRDocument* frDocument, int percentage, 
    VARIANT_BOOL* shouldTerminate )
{
    if( shouldTrackTime ) {
        time_t currentTime;
        time( ¤tTime );
        double seconds = difftime( currentTime, startTime );
        printf( "%f\n", seconds );
        *shouldTerminate = ( seconds > 100 ? VARIANT_TRUE : VARIANT_FALSE );
    }
    return S_OK;
}
Cette méthode est utilisée dans les exemples de code EventsHandling et Document Comparison, ainsi que dans l’outil de démonstration Windows Document Comparison.

Voir aussi

FRDocument AddImageFileWithPassword AddImageFileWithPasswordCallback AddImageDocument Utilisation des images