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

# SynthesizePages Method of the FRDocument Object

This method performs document synthesis of the specified pages in the document.

## Syntax

### C++

```cpp theme={null}
HRESULT SynthesizePages(
  IIntsCollection*             PageIndices,
  ISynthesisParamsForDocument* SynthesisParamsForDocument
);
```

### C\#

```csharp theme={null}
void SynthesizePages(
  IIntsCollection             PageIndices,
  ISynthesisParamsForDocument SynthesisParamsForDocument
);
```

### Visual Basic .NET

```vb theme={null}
Sub SynthesizePages( _
  PageIndices As IIntsCollection, _
  [SynthesisParamsForDocument As ISynthesisParamsForDocument = Nothing] _
)
```

## Parameters

PageIndices

\[in] This parameter refers to the [IntsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/intscollection) object that contains the indices of pages to be synthesized.

SynthesisParamsForDocument

\[in] The [SynthesisParamsForDocument](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/synthesisparamsfordocument) object that stores parameters of document synthesis. This parameter may be 0. In this case, the pages are synthesized with default parameters, or, if a [profile](/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles) has been loaded, the parameters set by this profile are used.

## Return values

If synthesis is interrupted by the user, this method will return E\_ABORT. It also returns the [standard return codes of ABBYY FineReader Engine functions](/fine-reader/engine/api-reference/return-codes).

## Remarks

* You may omit the stage of document synthesis in the following cases:
  * If you are going to export recognized text to TXT format. When exporting to this format, synthesis information is not used.
  * If you are going to export document to [PDF ImageOnly](/fine-reader/engine/api-reference/enumerations/pdfexportmodeenum) format. The recognized text and layout information are not used in this mode.

In all other cases, document synthesis must be performed. Omitting document synthesis will cause errors.

* Methods having the word "Process" in their names (e.g., IFRDocument::Process, IFRDocument::ProcessPages) include the stage of document synthesis. Processing methods of the [FRPage](/fine-reader/engine/api-reference/document-related-objects/frpage) object do not include it, so after using them and before export you must explicitly call some method which performs document synthesis.

* You may speed up the stage of document synthesis and decrease memory usage. If you set the [ISynthesisParamsForPage::DetectFontFormattingAtPageLevel](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/synthesisparamsforpage#detectfontformattingatpagelevel) property to TRUE during page synthesis, you can then turn off the detection of font parameters and document structure during document synthesis ([ISynthesisParamsForDocument::DetectFontFormatting](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/synthesisparamsfordocument#detectfontformatting) and [ISynthesisParamsForDocument::DetectDocumentStructure](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/synthesisparamsfordocument#detectdocumentstructure)). Nevertheless, the quality may deteriorate.

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

## See also

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

[Synthesize](/fine-reader/engine/api-reference/document-related-objects/frdocument/synthesize-method)

[Working with Profiles](/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles)
