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

# Synthesize Method of the FRDocument Object

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

## Syntax

### C++

```cpp theme={null}
HRESULT Synthesize( ISynthesisParamsForDocument* SynthesisParamsForDocument );
```

### C\#

```csharp theme={null}
void Synthesize( ISynthesisParamsForDocument SynthesisParamsForDocument );
```

### Visual Basic .NET

```vb theme={null}
Sub Synthesize([SynthesisParamsForDocument As ISynthesisParamsForDocument = Nothing])
```

## Parameters

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 document is 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) include the stage of document synthesis. Processing methods of the 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)

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

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