L_Doc2GetOutputFormatSettings

#include "ltdoc2.h"

L_LTDOC2_API L_INT EXT_FUNCTION L_Doc2GetOutputFormatSettings(hDoc, formatType, uFlags, pFormatSettings, uStructSize)

L_HDOC2 hDoc;

/* handle to the OCR document */

DOC2_FORMATTYPE formatType;

/* Format type */

L_UINT uFlags;

/* flags */

L_VOID * pFormatSettings;

/* pointer to format structure */

L_UINT uStructSize;

/* size of the structure */

Gets the settings for the specified output format.

Parameter

Description

hDoc

Handle to the OCR document. This handle is obtained by calling the L_Doc2StartUp function.

formatType

The format type for which its settings are being retrieved.

uFlags

Flag that determines function behavior. Possible values are:

 

Value

Meaning

 

DOC2_USE_FORMATTYPE_VALUE

[0x0000] Get the settings for the format specified in the formatType parameter.

 

DOC2_USE_COMMON_PDF_SETTINGS

[0x0002] Get common settings for PDF formats. pFormatSettings should be address of PDFCOMMONSETTINGS.

 

DOC2_USE_COMMON_RTF_DOC_SETTINGS

[0x0004] Get common settings for RTF and DOC formats. pFormatSettings should be the address of RTFDOCWORDMLSETTINGS.

 

DOC2_USE_COMMON_TEXT_SETTINGS

[0x0008] Get common settings for TEXT formats. pFormatSettings should be address of TEXTCOMMONSETTINGS.

pFormatSettings

Address of settings structure to be updated.

uStructSize

Size in bytes, of the structure. The structure is depend on the formatType or uFlags parameters.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

These format settings are used in the output file. Use this function to obtain format settings so they can be updated before saving the output file.

The pFormatSettings parameter is the address of the settings structure. The following table lists available format types along with the corresponding format settings structure that should be passed to this parameter:

Format Type Constant

Format Settings Structure

DOC2_TEXT

TEXTSETTINGS

DOC2_UTEXT

UTEXTSETTINGS

DOC2_FORMATTED_TEXT

TEXTFORMATTEDSETTINGS

DOC2_UFORMATTED_TEXT

TEXTUFORMATTEDSETTINGS

DOC2_TEXT_LINEBREAKS

TEXTLINEBREAKSSETTINGS

DOC2_UTEXT_LINEBREAKS

UTEXTLINEBREAKSSETTINGS

DOC2_TEXT_CSV

TEXTCSVSETTINGS

DOC2_TEXT_UCSV

TEXTUCSVSETTINGS

DOC2_PDF

PDFSETTINGS

DOC2_PDF_IMAGE_SUBSTITUTES

PDFIMAGESUBSTSETTINGS

DOC2_PDF_IMAGE_ON_TEXT

PDFIMAGEONTEXTSETTINGS

DOC2_PDF_EDITED

PDFEDITEDSETTINGS

DOC2_XML

XMLSETTINGS

DOC2_HTML_3_2

HTML32SETTINGS

DOC2_HTML_4_0

HTML40SETTINGS

DOC2_RTF_6

RTF6SETTINGS

DOC2_RTF_97

RTF97SETTINGS

DOC2_RTF_2000

RTF2000SETTINGS

DOC2_RTF_WORD_2000

RTF2000SWORDSETTINGS

DOC2_WORD_2007

WORD2007SETTINGS

DOC2_WORD_2000

WORD2000SETTINGS

DOC2_WORD_97

WORD97SETTINGS

DOC2_EXCEL_97

EXCEL97SETTINGS

DOC2_EXCEL_2000

EXCEL2000SETTINGS

DOC2_EXCEL_2007

EXCEL2007SETTINGS

DOC2_PPT_97

POWERPOINT97SETTINGS

DOC2_PUB_98

PUBLISHER98SETTINGS

DOC2_MICROSOFT_READER

MSREADERSETTINGS

DOC2_WORDML

WORDMLSETTINGS

DOC2_WORDPERFECT_8

WORDPERFECT8SETTINGS

DOC2_WORDPERFECT_10

WORDPERFECT10SETTINGS

DOC2_WORDPAD

WORDPADSETTINGS

DOC2_INFOPATH

INFOPATHSETTINGS

DOC2_EBOOK

EBOOKSETTINGS

When one of the following flags is passed to the uFlags parameter the function will ignore the format type that is passed to formatType:

DOC2_USE_COMMON_PDF_SETTINGS

DOC2_USE_COMMON_RTF_DOC_SETTINGS

DOC2_USE_COMMON_TEXT_SETTINGS

To update the format settings call the L_Doc2SetOutputFormatSettings function.

To save recognition results, call the L_Doc2SaveResultsToFile function.

Required DLLs and Libraries

LTDOC2

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

L_Doc2GetRecognitionResultOptions, L_Doc2SetRecognitionResultOptions, L_Doc2SaveResultsToFile, L_Doc2SetOutputFormatSettings

Topics:

Recognizing Document Pages

Example

L_LTDOC2TEX_API  L_INT Doc2OutputSettingsExample(L_HDOC2 hDoc, L_INT nPageIndex)
{
   L_INT nRet;
   RECOGNIZEOPTS2 RecogOpts;
   RecogOpts.uStructSize = sizeof(RECOGNIZEOPTS2);
   RecogOpts.nPageIndexStart = nPageIndex;
   RecogOpts.nPagesCount = 1;
   RecogOpts.SpellLangId = DOC2_LANG_ID_ENGLISH;

   nRet = L_Doc2Recognize (hDoc, &RecogOpts, NULL, NULL);
   if (nRet == SUCCESS)
   {
      RESULTOPTIONS2 ResOpts;
      ZeroMemory(&ResOpts, sizeof(RESULTOPTIONS2));
      nRet = L_Doc2GetRecognitionResultOptions(hDoc, &ResOpts, sizeof(RESULTOPTIONS2));
      if(nRet != SUCCESS)
         return nRet;

      ResOpts.Format = DOC2_TEXT;
      ResOpts.FormatLevel = DOC2_FORMAT_LEVEL_AUTO;
      ResOpts.DocFormat = DOCUMENTFORMAT_USER;

      nRet = L_Doc2SetRecognitionResultOptions(hDoc, &ResOpts);
      if(nRet != SUCCESS)
         return nRet;

      TEXTSETTINGS TxtSetng;
      memset(&TxtSetng, 0, sizeof(TEXTSETTINGS));
      TxtSetng.uStructSize = sizeof(TEXTSETTINGS);

      L_Doc2GetOutputFormatSettings(hDoc, DOC2_TEXT, DOC2_USE_FORMATTYPE_VALUE, &TxtSetng, sizeof(TEXTSETTINGS));

      TxtSetng.bBullets = TRUE;
      TxtSetng.bPageBreaks = TRUE;
      TxtSetng.pszPageBreak = L"MyPageBreak";

      L_Doc2SetOutputFormatSettings(hDoc, DOC2_TEXT, DOC2_USE_FORMATTYPE_VALUE, &TxtSetng);

      nRet = L_Doc2SaveResultsToFile(hDoc, TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\test.txt"));
      if (nRet == SUCCESS)
         MessageBox(NULL, TEXT("The recognition results were saved to a file."), TEXT("Notice!"), MB_OK);
      else
         return nRet;

      if (TxtSetng.pszLineBreak)
         GlobalFreePtr(TxtSetng.pszLineBreak);
      if (TxtSetng.pszPageBreak)
         GlobalFreePtr(TxtSetng.pszPageBreak);
   }
   else
      return nRet;

   return SUCCESS;
}