←Select platform

SaveZones(Stream) Method

Summary
Saves zones to a multipage zones .NET stream.
Syntax
C#
C++/CLI
Python
public void SaveZones( 
   Stream stream 
) 
void SaveZones(  
   Stream^ stream 
)  
def SaveZones(self,stream): 

Parameters

stream
The .NET stream that will contain the zones data.

Remarks

To save and load the zones of OCR pages, you can use one of these methods:

Note on loading zones from a multipage zone stream: If the stream does not contain zones data with the correct page number, the engine will not load any zones for this page. After the method returns, any OCR page that did not have zones data will contain zero zones. (the IOcrPage.Zones property contains 0 items). You can then use IOcrPage.AutoZone if required to re-zone this page.

Use IOcrDocument.LoadZones(stream) or IOcrPage.LoadZones(stream, pageNumber) to load all or one page zones saved by this method.

To load and save the zones to a disk file, use IOcrDocument.SaveZones(fileName), IOcrDocument.LoadZones(fileName) and IOcrPage.LoadZones(fileName, pageNumber).

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Ocr; 
using Leadtools.Forms.Common; 
using Leadtools.WinForms; 
using Leadtools.Drawing; 
 
public void LoadSaveZonesExample() 
{ 
   OcrEngineType engineType = OcrEngineType.LEAD; 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(engineType)) 
   { 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument()) 
      { 
         // Add 2 pages 
         ocrDocument.Pages.AddPage(Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"), null); 
         ocrDocument.Pages.AddPage(Path.Combine(LEAD_VARS.ImagesDir, "Ocr2.tif"), null); 
 
         // Auto-zone all the pages 
         ocrDocument.Pages.AutoZone(null); 
         Console.WriteLine("Number of zones after auto-zone:"); 
         for (int i = 0; i < ocrDocument.Pages.Count; i++) 
         { 
            Console.WriteLine("  Page {0} has {1} zones.", i, ocrDocument.Pages[i].Zones.Count); 
         } 
 
         // Save the zones to a disk file 
         string zonesFileName = Path.Combine(LEAD_VARS.ImagesDir, "LoadSaveZonesExample.ozf"); 
         ocrDocument.SaveZones(zonesFileName); 
 
         // Clear the zones 
         for (int i = 0; i < ocrDocument.Pages.Count; i++) 
         { 
            ocrDocument.Pages[i].Zones.Clear(); 
         } 
 
         // Show the zones now: 
         Console.WriteLine("Number of zones after saving the zones to file and then clear:"); 
         for (int i = 0; i < ocrDocument.Pages.Count; i++) 
         { 
            Console.WriteLine("  Page {0} has {1} zones.", i, ocrDocument.Pages[i].Zones.Count); 
         } 
 
         // Re-load the zones 
         ocrDocument.LoadZones(zonesFileName); 
 
         // Show the zones now: 
         ocrDocument.Pages.AutoZone(null); 
         Console.WriteLine("Number of zones after loading the zones from file:"); 
         for (int i = 0; i < ocrDocument.Pages.Count; i++) 
         { 
            Console.WriteLine("  Page {0} has {1} zones.", i, ocrDocument.Pages[i].Zones.Count); 
         } 
      } 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.3.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Ocr Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.