C#
C++/CLI
Python
[SerializableAttribute()]
public enum OcrCellBorder
Value | Member | Description |
---|---|---|
0 | Left | Left border. |
1 | Top | Top border. |
2 | Right | Right border. |
3 | Bottom | Bottom border. |
4 | NoBorder | No border. This value have a special meaning in OcrTablePointInformation.NearestBorder returned by IOcrTableZoneManager.GetPointInformation in certain situations and should not be used as in input to IOcrTableZoneManager.MoveCellBorder or IOcrTableZoneManager.GetCellBorderDragLimit. |
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Ocr;
using Leadtools.Drawing;
private static void IOcrTableZoneManageExample(IOcrEngine ocrEngine, string documentFileName)
{
// Create a document and add the page to it
using (IOcrPage ocrPage = ocrEngine.CreatePage(ocrEngine.RasterCodecsInstance.Load(documentFileName, 1), OcrImageSharingMode.AutoDispose))
{
// The coordinate for the table has been previously determined:
LeadRect tableBounds = new LeadRect(266, 554, 404, 647);
// Add a table zone with these bounds
OcrZone zone = new OcrZone();
zone.ZoneType = OcrZoneType.Table;
zone.Bounds = tableBounds;
ocrPage.Zones.Add(zone);
if (ocrPage.TableZoneManager != null)
{
// Detect the cells inside this table
IOcrTableZoneManager ocrTableZoneManager = ocrPage.TableZoneManager;
ocrTableZoneManager.AutoDetectCells(0);
}
// Show the cells for this zone (if any)
zone = ocrPage.Zones[0];
Console.WriteLine("Detected values:");
ShowCells(ocrPage, zone);
// Change the style of the first cell to have no borders
OcrZoneCell[] cells = ocrPage.Zones.GetZoneCells(zone);
if (cells != null && cells.Length > 0)
{
OcrZoneCell cell = cells[0];
cell.LeftBorderStyle = OcrCellBorderLineStyle.None;
cell.TopBorderStyle = OcrCellBorderLineStyle.None;
cell.RightBorderStyle = OcrCellBorderLineStyle.None;
cell.BottomBorderStyle = OcrCellBorderLineStyle.None;
cells[0] = cell;
}
ocrPage.Zones.SetZoneCells(zone, cells);
Console.WriteLine("Updated values:");
ShowCells(ocrPage, zone);
}
}
private static void ShowCells(IOcrPage ocrPage, OcrZone zone)
{
OcrZoneCell[] cells = ocrPage.Zones.GetZoneCells(zone);
if (cells != null)
{
Console.WriteLine("Table contains {0} zones", cells.Length);
for (int i = 0; i < cells.Length; i++)
{
Console.WriteLine(" Cell {0}:", i);
OcrZoneCell cell = cells[i];
Console.WriteLine(" Type: {0}", cell.CellType);
Console.WriteLine(" Bounds: {0}", cell.Bounds);
Console.WriteLine(" Background color: {0}", cell.BackgroundColor);
Console.WriteLine(" Left border color: {0}", cell.LeftBorderColor);
Console.WriteLine(" Left border width: {0}", cell.LeftBorderWidth);
Console.WriteLine(" Left border style: {0}", cell.LeftBorderStyle);
Console.WriteLine(" Top border color: {0}", cell.TopBorderColor);
Console.WriteLine(" Top border width: {0}", cell.TopBorderWidth);
Console.WriteLine(" Top border style: {0}", cell.TopBorderStyle);
Console.WriteLine(" Right border color: {0}", cell.RightBorderColor);
Console.WriteLine(" Right border width: {0}", cell.RightBorderWidth);
Console.WriteLine(" Right border style: {0}", cell.RightBorderStyle);
Console.WriteLine(" Bottom border color: {0}", cell.BottomBorderColor);
Console.WriteLine(" Bottom border width: {0}", cell.BottomBorderWidth);
Console.WriteLine(" Bottom border style: {0}", cell.BottomBorderStyle);
}
}
}