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

# OnExportPages Method of the IDocumentViewerEvents Interface

> OnExportPages method of the IDocumentViewerEvents Interface in ABBYY FineReader Engine Visual Components on Windows — This method is implemented on the client-side.

This method is implemented on the client-side. It is called by ABBYY FineReader Engine before the start of the export process which has been invoked from [Document Viewer](/fine-reader/engine/visual-components-reference/documentviewer). The process is invoked if one of the following commands is called:

* [MI\_SaveAsCsv](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveascsv)
* [MI\_SaveAsDocX](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasdocx)
* [MI\_SaveAsEpub](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasepub)
* [MI\_SaveAsFb2](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasfb2)
* [MI\_SaveAsHtm](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveashtm)
* [MI\_SaveAsOdt](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasodt)
* [MI\_SaveAsPdf](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveaspdf)
* [MI\_SaveAsPdfA](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveaspdfa)
* [MI\_SaveAsPptX](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveaspptx)
* [MI\_SaveAsRtf](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasrtf)
* [MI\_SaveAsTxt](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveastxt)
* [MI\_SaveAsXls](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasxls)
* [MI\_SaveAsXlsX](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_saveasxlsx)

The commands can be called using the corresponding items in the context menu, or using the [DoCommand](/fine-reader/engine/visual-components-reference/supplementary-objects/commands/docommand-method) method of the IDocumentViewer::Commands. See the [Document Viewer Commands](/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands) list for details.

The method delivers to the client information on the export operation: export file name and format, parameters of export, and the indices of pages that are going to be exported. With the help of this method it is possible to cancel the operation.

## Syntax

### C++

```cpp theme={null}
HRESULT OnExportPages(
  BSTR                 FileName,
  FileExportFormatEnum Format,
  IIntsCollection*     PageIndices,
  IUnknown*            ExportParams,
  VARIANT_BOOL*        Cancel
);
```

### C\#

```csharp theme={null}
void OnExportPages(
  string               FileName,
  FileExportFormatEnum Format,
  IIntsCollection      PageIndices,
  object               ExportParams,
  out bool             Cancel
);
```

### Visual Basic .NET

```vb theme={null}
Sub OnActivePageChanging( _
  FileName As String, _
  Format As FileExportFormatEnum, _
  PageIndices As IIntsCollection, _
  ExportParams As Object, _
  ByRef Cancel As Boolean
)
```

## Parameters

FileName

\[in] Contains the name of the file to save pages to.

Format

\[in] Specifies the format of export. See the description of the [FileExportFormatEnum](/fine-reader/engine/api-reference/enumerations/fileexportformatenum) constants.

PageIndices

\[in] Specifies the indices of pages in a document which should be exported as an [IntsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/intscollection) object.

ExportParams

\[in] Refers to the export parameters object of the type corresponding to the export file format. For example, if pages are saved into an RTF file, it refers to the [RTFExportParams](/fine-reader/engine/api-reference/parameter-objects/export-parameters/rtfexportparams) object.

Cancel

\[out] You may set this variable to TRUE to indicate that the process should be terminated. In this case, the pages will not be exported.

## Return values

\[C++ only] If this method returns a value other than S\_OK, it indicates that an error occurred on the client-side, and in this case the value of the Cancel parameter is not taken into account.

## Remarks

The client implementation of this method must assure that all exceptions thrown inside the method are caught and handled and no exceptions are propagated outside the method. Propagation of an exception outside the method may lead to unpredictable results (such as program termination).

## See also

[IDocumentViewerEvents](/fine-reader/engine/visual-components-reference/idocumentviewerevents)
