Visual Basic (Declaration) | |
---|---|
Public Interface IOcrZoneCollection Inherits ICollection(Of OcrZone), IEnumerable(Of OcrZone), IList(Of OcrZone), IEnumerable |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As IOcrZoneCollection |
C# | |
---|---|
public interface IOcrZoneCollection : ICollection<OcrZone>, IEnumerable<OcrZone>, IList<OcrZone>, IEnumerable |
C++/CLI | |
---|---|
public interface class IOcrZoneCollection : public ICollection<OcrZone>, IEnumerable<OcrZone>, IList<OcrZone>, IEnumerable |
Leadtools.Forms.Ocr.IOcrZoneCollection holds the zones currently added into an OCR page. You can access the instance of the Leadtools.Forms.Ocr.IOcrZoneCollection used by a IOcrPage through the IOcrPage.Zones property.
The Leadtools.Forms.Ocr.IOcrZoneCollection interface implements standard .NET ICollection{T}, IList{T}, and IEnumerable{T} interfaces and hence, you can use the member of these interfaces to add, remove, get, set and iterate through the different zones in the page.
To work with the zones of the page, you can first call IOcrPage.AutoZone. This will start the page layout decomposition process and the engine will fill the IOcrPage.Zones property with the different zones found. You can then examine or modify the different zones with the various Leadtools.Forms.Ocr.IOcrZoneCollection properties. For example, use IOcrZoneCollection.Add to add a new zone and IOcrZoneCollection.Remove to remove a zone. You can use IOcrZoneCollection.Count to get the number of zones currently in the page.
To modify a zone, use IOcrZoneCollection.Item to get the Leadtools.Forms.Ocr.OcrZone object you are interested in, modify the zone then set it back through IOcrZoneCollection.Item. Note that since Leadtools.Forms.Ocr.OcrZone is a structure (value type), you must use the setter. The following code snippet illustrates how to change the zone type of the 4th zone in an ocrPage:
// Remember, the index is zero-based, so 4th zone has an index of 3 OcrZone zone = ocrPage.Zones[3]; // Prevent this zone from being recognized zone.ZoneType = OcrZoneType.Graphic; ocrPage.Zones[3] = zone;
When adding or updating a zone, you should directly initialize the OcrZone.Bounds, OcrZone.FillMethod, OcrZone.RecognitionModule, OcrZone.CharacterFilters and the OcrZone.ZoneType properties of the zone, since they will not take on their default values.
You should not modify the OcrZone.Id property. When adding zones, leave this value to the default of 0.
The OcrZone.ZoneType property of the updating zone should be one of the following: OcrZoneType.Text, OcrZoneType.Table or OcrZoneType.Graphics.
The preferred method of updating a zone is as illustrated in the code snippet above, first get the zone you are interested in, update it and set it back into the collection.
It is your responsibility to specify a valid recognition module-filling method pair. Otherwise any incorrectly set zone will have no recognition result. For more information, refer to An Overview of OCR Recognition Modules.
Calling IOcrPage.AutoZone will clear the zones in the IOcrPage.Zones collection and fills it again with the zones found by the engine.
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7