> ## 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 AddImageFile de l’objet FRDocument

> Méthode AddImageFile de l’objet FRDocument dans l’API ABBYY FineReader Engine — Ouvre un fichier image et ajoute ses pages au document.

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

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

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

```cpp theme={null}
HRESULT AddImageFile(
  BSTR               ImageFileName,
  IPrepareImageMode* PrepareMode,
  IIntsCollection*   PageIndices
);
```

### C\#

```csharp theme={null}
void AddImageFile(
  string           ImageFileName,
  IPrepareImageMode PrepareMode,
  IIntsCollection   PageIndices
);
```

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

```vb theme={null}
Sub AddImageFile( _
  ImageFileName As String, _
  [PrepareMode As IPrepareImageMode = Nothing], _
  [PageIndices As IIntsCollection = Nothing] _
)
```

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

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](/fr/fine-reader/engine/api-reference/image-related-objects/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](/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/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.<br />Ce paramètre est facultatif et peut être égal à 0, auquel cas toutes les pages du fichier ouvert seront ajoutées au document.

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

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](/fr/fine-reader/engine/api-reference/return-codes).

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

* 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](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument).
* Pour Linux et Windows :
  * 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).
  * Selon la valeur de la propriété [IEngine::MultiProcessingParams](/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/properties#multiprocessingparams), ABBYY FineReader Engine peut répartir l'ouverture des documents multipages entre les cœurs du processeur.

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

Cet exemple Windows montre comment interrompre l’ajout d’une page à un document si l’opération prend trop de temps.

<Accordion title="Code C++ (COM)">
  ```cpp theme={null}
  // 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;
  }
  ```
</Accordion>

Cette méthode est utilisée dans les exemples de code [EventsHandling](/fr/fine-reader/engine/guided-tour/samples#eventshandling) et [Document Comparison](/fr/fine-reader/engine/guided-tour/samples#documentcomparison_linux), ainsi que dans l’outil de démonstration Windows [Document Comparison](/fr/fine-reader/engine/guided-tour/samples#documentcomparison).

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

[FRDocument](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument)

[AddImageFileWithPassword](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefilewithpassword-method)

[AddImageFileWithPasswordCallback](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefilewithpasswordcallback-method)

[AddImageDocument](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagedocument-method)

[Utilisation des images](/fr/fine-reader/engine/guided-tour/advanced-techniques/working-with-images)
