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

# IFileAdapter Interface

<Note>
  This interface is implemented in FRE for Linux and Windows.
</Note>

This is the interface for a file adapter. This interface and all its methods are implemented on the client-side.

This interface should provides access to an image file and may implement handling password-protected PDF files and accessing only separate pages for multi-page files.

## Methods

| Name                                                                                                         | Description                                                                                                     |
| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| [GetFileName](/fine-reader/engine/api-reference/batch-processor/ifileadapter/getfilename-method)             | Returns the string which contains the path to the image file.                                                   |
| [GetPagesToProcess](/fine-reader/engine/api-reference/batch-processor/ifileadapter/getpagestoprocess-method) | Specifies the indices of pages that should be processed in the file. NULL means process all pages.              |
| [GetPassword](/fine-reader/engine/api-reference/batch-processor/ifileadapter/getpassword-method)             | Returns the password for the password-protected PDF file. This method is required for encrypted PDF files only. |

## Output parameter

This interface pointer is returned by the [GetNextImageFile](/fine-reader/engine/api-reference/batch-processor/iimagesource/getnextimagefile-method) method of the [IImageSource](/fine-reader/engine/api-reference/batch-processor/iimagesource) interface.

## Samples

<Accordion title="C# code">
  ```csharp theme={null}
   
   {
    return null;
   }
   public string GetFileName()
   {
    return fileName;
   }
   public string GetPassword()
   {
    return null;
   }
   private string fileName;
  }
  ```
</Accordion>

The interface is used in the following code samples: [BatchProcessing](/fine-reader/engine/guided-tour/samples#batchprocessing) and Windows demo tools: [BatchProcessingRecognition](/fine-reader/engine/guided-tour/samples#batchprocessingrecognition).

## Remarks

In Linux, this interface does not work if the Engine object is loaded as an out-of-process server.

## See also

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