Retired Component Notice
AbbyyEngine was removed from DotImage in 11.3. This article is preserved for historic reference. Customers who had active AbbyyEngine licensing were converted to OmniPageEngine.
For more, please see INFO: OmniPageEngine - Overview.
Main Article (Preserved)
Atalasoft's implementation of AbbyyEngine OCR engine is tuned to try and
avoid getting caught up in particularly "busy" images (when asked to OCR a
document that contains not just text but pictures/images as well etc...
However, there are times when you have content you want to force it to
read.
The fix is to use the PageLocation event to override AbbyyEngine
// creating new AbbyyEngine instance
AbbyyEngine engine = new AbbyyEngine();
// BEFORE calling engine.Initialize(), set up this handler
engine.PageLocation += engine_PageLocation;
// set any other pre-initialization code here
engine.Initialize();
// NOW you can use the AbbyyEngine as usual
... code here ...
// cleanup when done
engine.ShutDown();
engine.Dispose();
/// this is the engine_PageLocation handler that will convert OcrImageRegion regions into
/// AbbyyOcrTextRegion objects and allow recognition within those formerly ignored regions
private void engine_PageLocation(object sender, OcrPageLocationEventArgs e)
{
e.RegionsOut = new OcrRegionCollection();
foreach (OcrRegion ocrRegion in e.RegionsIn)
{
e.RegionsOut.Add(ocrRegion is OcrImageRegion
? new AbbyyOcrTextRegion(ocrRegion.PolygonBounds)
: ocrRegion);
}
}
Original Article
Q10456 - PRB: AbbyyEngine Ignores Some Content (such as tables)
Last Update
2026-10-29 - TD - (Marked as retired)