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

# ExportPages Method of the FRDocument Object

This method saves specified pages into a file in an external format. Available file formats are represented by the [FileExportFormatEnum](/fine-reader/engine/api-reference/enumerations/fileexportformatenum) enumeration constants.

<Note>
  In Linux and Windows, parallel processing is supported only for exporting to PDF (except TextOnly mode) and PPTX formats.
</Note>

## Syntax

### C++

```cpp theme={null}
HRESULT ExportPages(
  BSTR                 ExportFileName,
  FileExportFormatEnum Format,
  IUnknown*            ExportParams,
  IIntsCollection*     PageIndices,
  IStringsCollection** AdditionalFiles,
  IStringsCollection** AdditionalDirectories
);
```

### C\#

```csharp theme={null}
void ExportPages(
  string                ExportFileName,
  FileExportFormatEnum  Format,
  object                ExportParams,
  IIntsCollection        PageIndices,
  out IStringsCollection AdditionalFiles,
  out IStringsCollection AdditionalDirectories
);
```

### Visual Basic .NET

```vb theme={null}
Sub ExportPages( _
  ExportFileName As String, _
  Format As FileExportFormatEnum, _
  ExportParams As Unknown, _
  PageIndices As IIntsCollection, _
  [ByRef AdditionalFiles As IStringsCollection = Nothing], _
  [ByRef AdditionalDirectories As IStringsCollection = Nothing] _
)
```

## Parameters

ExportFileName

\[in] This variable contains the full path to the output file. If this file already exists, it is overwritten without prompt.

Format

\[in] This variable specifies the format of the output file. See the [FileExportFormatEnum](/fine-reader/engine/api-reference/enumerations/fileexportformatenum) description for the supported file formats.

ExportParams

\[in] Pass the export parameters object of the type corresponding to your file format through this input parameter. For example, if you are saving the text into an RTF file, create an [RTFExportParams](/fine-reader/engine/api-reference/parameter-objects/export-parameters/rtfexportparams) object, set the necessary parameters in it, and pass it to this method as the ExportParams input parameter. This parameter may be 0, in which case the default values for the export parameters are used.

<Warning>
  In Linux, if you are working with ABBYY FineReader Engine loaded out-of-process, you must pass NULL for this parameter. If you want to pass the export parameters, create a [user profile](/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles#user_profiles) with the desired settings.
</Warning>

PageIndices

\[in] This parameter refers to the [IntsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/intscollection) object that contains the numbers of pages to be exported. The pages are exported in the order they are located in the document. If you want to change the page order, you should renumber pages in the document using the [Renumber](/fine-reader/engine/api-reference/document-related-objects/frpages/renumber-method) method of the corresponding [FRPages](/fine-reader/engine/api-reference/document-related-objects/frpages) collection.

AdditionalFiles

\[out] A pointer to the IStringsCollection\* pointer variable that receives the interface pointer of the [StringsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/stringscollection) object. \*AdditionalFiles should not refer to any valid object. The StringsCollection is created internally by this method. This object contains the list of full paths to the additional files that were generated during export.

AdditionalDirectories

\[out] A pointer to the IStringsCollection\* pointer variable that receives the interface pointer of the [StringsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/stringscollection) object. \*AdditionalDirectories should not refer to any valid object. The StringsCollection is created internally by this method. This object contains the list of full paths to the additional directories that were generated during export.

## Return values

During export to PDF or XPS format this method may return FREN\_E\_INVALID\_CREATION\_DATE\_FORMAT or FREN\_E\_INVALID\_MODIFICATION\_DATE\_FORMAT errors, which indicate that the creation or modification date format is invalid. It also returns the [standard return codes of ABBYY FineReader Engine functions](/fine-reader/engine/api-reference/return-codes).

## Remarks

* In most cases, document synthesis must be performed before exporting pages of a document. Omitting the document synthesis may cause errors during export. See the description of the [IFRDocument::SynthesizePages](/fine-reader/engine/api-reference/document-related-objects/frdocument/synthesizepages-method) method for details.
* This method may report events to the listeners attached to the IConnectionPointContainer interface of the [FRDocument](/fine-reader/engine/api-reference/document-related-objects/frdocument) object.
* For Linux and Windows: Depending on the value of the [IEngine::MultiProcessingParams](/fine-reader/engine/api-reference/engine-object-iengine-interface/properties#multiprocessingparams) property, ABBYY FineReader Engine can distribute export of multi-page documents to CPU cores.

## See also

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