Leadtools.Forms.Ocr Namespace > IOcrTableZoneManager Interface : GetSupportedCellTypes Method |
OcrZoneType[] GetSupportedCellTypes()
'Declaration Function GetSupportedCellTypes() As OcrZoneType()
'Usage Dim instance As IOcrTableZoneManager Dim value() As OcrZoneType value = instance.GetSupportedCellTypes()
OcrZoneType[] GetSupportedCellTypes()
function Leadtools.Forms.Ocr.IOcrTableZoneManager.GetSupportedCellTypes()
array<OcrZoneType>^ GetSupportedCellTypes();
Currently, on the LEADTOOLS Professional OCR engine support manipulating the cells of a table zone. When using this engine, this method will return an array containing the following:
These are the only cell types that may be returned from the engine when table cells are auto-detected or you can manually set into OcrZoneCell.CellType. Setting any other cell type will result in an exception being thrown.
In the future, this restriction might be removed when more cell types are supported, it is recommended that you use GetSupportedCellTypes to programatically get a list of the supported types and construct and user interface from the values returned from this method (for example, a combo box for cell type selection in your application).
You can use table cells in one of two ways:
Perform auto-zoning on the page using IOcrPage.AutoZone, if the page contains a detected table, the a zone of type OcrZoneType.Table is created for this table. If the engine successfully detects the cells of the table, then it will fill the OcrZone.Cells with the properties of the detected cells.
Manually add a new OcrZone with its type set to OcrZoneType.Table to the zones collection of a page. Leave the value of OcrZone.Cells to null (Nothing in Visual Basic), now use the IOcrTableZoneManager.AutoDetectCells method to instruct the engine to detect any cells in this zone and fill the array with the data.
To manipulate a cell properties other than its bound (OcrZoneCell.Bounds), get the array of detected cells through OcrZone.Cells, change the cell background color, style or any border color, style or with. When you are done, re-set the array to OcrZone.Cells and call IOcrTableZoneManager.UpdateCells.
It is not recommended that you manually remove or add cells to the OcrZone.Cells, the engine is very sensitive to zone boundaries and any non-accurate information will cause an error. Instead, use the various methods of IOcrTableZoneManager to manipulate the cell location and size.
Private Shared Sub GetSupportedCellTypesExample(ByVal ocrPage As IOcrPage) Console.WriteLine("The engine of type {0} supports these zone cell types:", ocrPage.Document.Engine.EngineType) Dim ocrTableZoneManager As IOcrTableZoneManager = ocrPage.TableZoneManager If Not IsNothing(ocrTableZoneManager) Then Dim cellTypes() As OcrZoneType = ocrTableZoneManager.GetSupportedCellTypes() For Each cellType As OcrZoneType In cellTypes Console.WriteLine(cellType.ToString()) Next Else Console.WriteLine("Cells not supported.") End If End Sub
private static void GetSupportedCellTypesExample(IOcrPage ocrPage) { Console.WriteLine("The engine of type {0} supports these zone cell types:", ocrPage.Document.Engine.EngineType); IOcrTableZoneManager ocrTableZoneManager = ocrPage.TableZoneManager; if(ocrTableZoneManager != null) { OcrZoneType[] cellTypes = ocrTableZoneManager.GetSupportedCellTypes(); foreach(OcrZoneType cellType in cellTypes) { Console.WriteLine(cellType.ToString()); } } else { Console.WriteLine("Cells not supported."); } }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2