Sets the recognized character data of this IOcrPage
- (BOOL)setRecognizedCharacters:(LTOcrPageCharacters *)pageCharacters error:(NSError **)error
public void setRecognizedCharacters(OcrPageCharacters pageCharacters)
The modified page characters to set.
Use this method to set the recognized characters of a page after you modify them. To get the recognized characters of a page use GetRecognizedCharacters.
You must call this method after the IOcrPage has been recognized with the Recognize method. i.e., if the value of the IsRecognized property of this page is false, then calling this method will throw an exception.
You can use the GetRecognizedCharacters to examine the recognized character data. This data contain information about the character codes, their confidence, guess codes, location and position in the page as well as font information. For more information, refer to OcrCharacter.
The GetRecognizedCharacters method returns an instance of IOcrPageCharacters, this instance is a collection of IOcrZoneCharacters objects. Each of the IOcrZoneCharacters objects will contain the collection of the OcrCharacter that forms a zone in the page. The IOcrZoneCharacters.ZoneIndex property contains the zero-based index of the zone. You can get the zone information by using the same index with the getter of the Zones property of this IOcrPage.
Use IOcrZoneCharacters.GetWords to get the recognized words of a zone.
Notes on spaces: The LEADTOOLS OCR Module - LEAD Engine will not return any space characters when using the GetRecognizedCharacters method.
The LEADTOOLS OCR Module - OmniPage Engine will not return space characters if the value of the boolean Recognition.SpaceIsValidCharacter setting value is false (the default). If you absolutely require space characters in the recognition results when using the LEADTOOLS OmniPage Engine, then set the value of the boolean Recognition.SpaceIsValidCharacter setting to true ( ocrEngineInstance.SettingManager.SetBooleanValue("Recognition.SpaceIsValidCharacter", true)). For more information on OCR settings, refer to IOcrSettingManager and LEADTOOLS OCR Module - OmniPage Engine Settings.
The SetRecognizedCharacters method will accept space characters in the LEADTOOLS LEAD engine. However, these space characters will be used when generating the final document (PDF) and might affect the final output. Therefore, it is not recommended that you insert space characters when using the LEADTOOLS LEAD engine.
The LEADTOOLS OCR Module - OmniPage Engine will strip any space characters from the results passed to SetRecognizedCharacters if the value of the boolean Recognition.SpaceIsValidCharacter setting value is false (the default). If you absolutely require space characters in the recognition results when using the LEADTOOLS OmniPage Engine, then set the value of the boolean Recognition.SpaceIsValidCharacter setting to true before calling SetRecognizedCharacters.
If you use the GetRecognizedCharacters and SetRecognizedCharacters methods to modify the recognition result prior to saving to an output file, and you are planning on using the engine native save capability (through setting the IOcrDocumentManager.EngineFormat property and using DocumentFormat.User in the IOcrDocument.Save method), then you must change the boolean Recognition.SpaceIsValidCharacter setting to true.
The IOcrPageCharacters interface also contains the IOcrPageCharacters.UpdateWord method that allow to modify the OCR recognition results by updating or deleting the words before optionally saving the results to the final output document.
For an example, refer to GetRecognizedCharacters