#include "ltdoc2.h"
L_LTDOC2_API L_INT EXT_FUNCTION L_Doc2GetWordSuggestions(hDoc, nPageIndex, nWordIndex, pppWordSuggestions, plSuggestionsCount)
Gets an array of all available alternatives/suggestions for the recognized words.
Handle to the OCR document.
A zero-based index of the recognized page for which to get the recognized words suggestions.
A zero-based index of the word to get its recognized alternatives/suggestions.
Address of pointer to pointer that represents an array of strings to be allocated and updated with the available word's suggestions.
Pointer to a variable to be updated with the number of elements in the pppWordSuggestions array.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function obtains an array of recognized alternative words at the specified word index (if any are available).
This function obtains the number of alternative word's suggestions in plSuggestionsCount.
✅ IMPORTANT
You must free the memory associated with pppWordSuggestions parameter when it is no longer needed, by calling the L_Doc2FreeWordSuggestions function.
This function should not be called before calling the L_Doc2GetRecognizedWords / L_Doc2GetRecognizedWordsExt function.
Required DLLs and Libraries
L_INT Doc2GetWordSuggestionsExample(L_HDOC2 hDoc)
{
L_INT nRet;
RECOGNIZEOPTS2 RecogOpts;
RecogOpts.uStructSize = sizeof(RECOGNIZEOPTS2);
RecogOpts.nPageIndexStart = 0;
RecogOpts.nPagesCount = 1;
RecogOpts.SpellLangId = DOC2_LANG_ID_ENGLISH;
nRet = L_Doc2Recognize (hDoc, &RecogOpts, NULL, NULL);
if (nRet == SUCCESS)
{
pRECOGWORDS2 pRecogWords = NULL;
L_INT nWordsCount = 0;
nRet = L_Doc2GetRecognizedWords(hDoc, 0, &pRecogWords, sizeof(RECOGWORDS2), &nWordsCount);
if (nRet == SUCCESS)
{
for (L_INT32 i=0; i<nWordsCount; i++)
{
L_WCHAR ** ppWordSuggestions = NULL;
L_INT nSuggestionsCount = 0;
nRet = L_Doc2GetWordSuggestions(hDoc, 0, i, &ppWordSuggestions, &nSuggestionsCount);
if(nRet == SUCCESS && nSuggestionsCount > 0)
{
L_TCHAR szBuffer[1024];
ZeroMemory(szBuffer, sizeof(szBuffer));
wsprintf(szBuffer, TEXT("Word Index: %d\nWord: %s\nSuggestions Count: %d"), i, pRecogWords[i].szWord, nSuggestionsCount);
MessageBox(NULL, szBuffer, TEXT("Word Suggestions Count"), MB_OK);
L_Doc2FreeWordSuggestions(hDoc, &ppWordSuggestions, nSuggestionsCount);
}
}
nRet = L_Doc2FreeRecognizedWords(hDoc, &pRecogWords);
if(nRet != SUCCESS)
return nRet;
}
}
return SUCCESS;
}