public OcrZoneType ZoneType { get; set; }
An OcrZoneType enumeration member that specifies the zone type.
The ZoneType property is used to classify the zone into one of the three basic zone-categories: flowed text, table or graphics. To set this, use OcrZoneType.Text, OcrZoneType.Table and OcrZoneType.Graphic, respectively.
One of these values is typically created by the page-layout decomposition (auto-zoning) process, however they have the same meaning for the recognition algorithms: the zone contains flowed text.
The OcrZoneType.Table type is for table-type zones. In the case of this type of zone, the OCR engine will try to reconstruct the original table text layout of the zone in the final output document.
For graphic zones use the OcrZoneType.Graphic type. If OcrZoneType.Graphic is specified, no recognition will run on the zone and all other recognition related settings will be ignored.
For horizontal text recognition you can set the OcrZoneType to OcrZoneType.Text.
The related OcrZoneType.AutoGraphic type can appear as the result of the page-layout decomposition (auto-zoning) process, and also signifies a graphic zone.
using Leadtools;using Leadtools.Codecs;using Leadtools.Ocr;using Leadtools.Forms.Common;using Leadtools.Document.Writer;using Leadtools.WinForms;using Leadtools.Drawing;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;public void OcrAutoZoneExample(){// Create an image with some text in itRasterImage image = new RasterImage(RasterMemoryFlags.Conventional, 320, 200, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, IntPtr.Zero, 0);Rectangle imageRect = new Rectangle(0, 0, image.ImageWidth, image.ImageHeight);IntPtr hdc = RasterImagePainter.CreateLeadDC(image);using (Graphics g = Graphics.FromHdc(hdc)){g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;g.FillRectangle(Brushes.White, imageRect);using (Font f = new Font("Arial", 20, FontStyle.Regular))g.DrawString("Normal line", f, Brushes.Black, 0, 0);using (Font f = new Font("Courier New", 20, FontStyle.Regular))g.DrawString("Monospaced line", f, Brushes.Black, 0, 80);}RasterImagePainter.DeleteLeadDC(hdc);string zonesFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyZones.xml");// Create an instance of the engineusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)){// Start the engine using default parametersocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);// Create an OCR pageusing (IOcrPage ocrPage = ocrEngine.CreatePage(image, OcrImageSharingMode.AutoDispose)){// Show the zones, there should be no zones yetShowZones("Right after the page was created", ocrPage);// Perform default AutoZoning on the pageocrPage.AutoZone(null);// Show the zones, there should be two zones, one for each lineShowZones("AutoZone with default parameters", ocrPage);// Update the first zone manuallyOcrZone ocrZone = ocrPage.Zones[0];ocrZone.ZoneType = OcrZoneType.Text;ocrPage.Zones[0] = ocrZone;// Show the zonesShowZones("After updating the type of the first zone", ocrPage);// Save the zones to a file and then clear themocrPage.SaveZones(zonesFileName);ocrPage.Zones.Clear();// Show the zones, there should be no zones since we just cleared themShowZones("After calling save and clear", ocrPage);// Re-load the zonesocrPage.LoadZones(zonesFileName);ShowZones("After re-loading the zones", ocrPage);}// Shutdown the engine// Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown();}}private void ShowZones(string message, IOcrPage ocrPage){Console.WriteLine("Zones after {0}:", message);foreach (OcrZone ocrZone in ocrPage.Zones){int index = ocrPage.Zones.IndexOf(ocrZone);Console.WriteLine("Zone index: {0}", index);Console.WriteLine(" Id {0}", ocrZone.Id);Console.WriteLine(" Bounds {0}", ocrZone.Bounds);Console.WriteLine(" ZoneType {0}", ocrZone.ZoneType);Console.WriteLine(" CharacterFilters: {0}", ocrZone.CharacterFilters);Console.WriteLine("----------------------------------");}Console.WriteLine("Hit enter to continue");//Console.ReadLine();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime";}