Synthesize Method of the FRPage Object

This method performs document synthesis for the individual page. This method may be useful when processing one-page documents with Batch Processor. In this case, you do not need to create FRDocument object for each page, but instead you can use synthesis and export methods of the FRPage object.

However, if you are working with a multi-page document, calling this method for each of the pages is not enough. You will have to perform document synthesis for the whole document at least once (using, e.g., the IFRDocument::Synthesize method). But if after the full document synthesis you need to make some changes to one page, you can then call Synthesize for that one page, saving time.

When you perform document synthesis for one page of a document using this method, all other pages of the document remain unchanged. This method call is similar to the IFRDocument::SynthesizePages method call with the index of the page as the first parameter.

See below for the list of the few cases when document synthesis may be omitted.



HRESULT Synthesize( ISynthesisParamsForDocument* SynthesisParamsForDocument );


void Synthesize( ISynthesisParamsForDocument SynthesisParamsForDocument );

Visual Basic .NET

Sub Synthesize([SynthesisParamsForDocument As ISynthesisParamsForDocument = Nothing])


[in] The SynthesisParamsForDocument object that stores parameters of document synthesis. This parameter may be 0. In this case, the page is synthesized with default parameters, or, if a profile 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.


  • 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 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 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 property to TRUE during page synthesis, you can then turn off the detection of font parameters and document structure during document synthesis (ISynthesisParamsForDocument::DetectFontFormatting and ISynthesisParamsForDocument::DetectDocumentStructure). Nevertheless, the quality may deteriorate.
  • This method may report events to the listeners attached to the IConnectionPointContainer interface of the FRPage object.

See also


Working with Profiles

Tuning Parameters of Preprocessing, Analysis, Recognition, and Synthesis

24.03.2023 8:51:52

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.