Defines an image page in an OCR document.
public interface IOcrPage : System.IDisposable Public Interface IOcrPageInherits System.IDisposable
public interface IOcrPage : IClosable @interface LTOcrPage : NSObject public class OcrPage function Leadtools.Forms.Ocr.IOcrPage() System.IDisposable public interface class IOcrPage : public System.IDisposable IOcrPage defines a page currently added in the OCR engine. Each page contains the raster image used to create it (the image used when the page is loaded or added) and a group of OCR zones for the page either added manually or through auto-zoning.
Pages can be stand-alone or part of an IOcrDocument. To create a stand-alone page, use IOcrEngine.CreatePage. To create pages as part of IOcrDocument, use the IOcrDocument.Pages collection.
For information on how to create memory-based or file-based documents or how to load file-based documents from disk refer to IOcrDocumentManager.CreateDocument and Programming with the LEADTOOLS .NET OCR.
In memory-based documents, you cannot create IOcrPage objects directly. Instead, add pages to the engine through the various AddPage, AddPages, InsertPage and InsertPages methods of the IOcrPageCollection interface. Once a page is added, access it by index to get the IOcrPage object associated with it.
Pages obtained this way do not need to be disposed. The owner IOcrDocument will automatically destroy the pages when it is disposed.
Usually, you create a page directly using IOcrEngine.CreatePage. You can use all the IOcrPage methods to zone and recognize the document as listed below as usual. And if saving the page to a final output format is required, then you can add this page to a file-based IOcrDocument using the IOcrPageCollection.Add member of Pages.
Pages obtained through CreatePage must be destroyed by the user using the Dispose method.
Each page contains a collection of OCR zones. This collection can be accessed with the Zones member. This member implements the IOcrZoneCollection interface which also implements the same standard .NET collections interfaces as IOcrPageCollection. Hence you can use Zones to add, remove, get, set and iterate through the various zones in the page.
After optionally manipulating the zones inside a page, call Recognize to collect the recognition data of the page. This data is stored internally in the page and can later be saved to one of the many document file formats supported by the engine such as PDF or Microsoft Word.
After a page is recognized, examine and modify the recognition data (characters and words) through the GetRecognizedCharacters and SetRecognizedCharacters methods. The GetText method can be used to obtain the recognition data as simple string object.
Once an IOcrPage object is obtained, you can do the following:
Get information regarding the page image, such its Width, Height, BitsPerPixel and the DPI (DpiX and DpiY) values.
Get a RasterImage object with the GetRasterImage method that represents the page raster image data. Manipulate this image with other parts of LEADTOOLS such as the various image processing commands or show it in the Windows Forms viewer. You can also use SetRasterImage to update the page raster image data.
This example creates an OCR document and adds a page to it, displays various information about the page and then saves it as PDF file.
using Leadtools;using Leadtools.Codecs;using Leadtools.Forms.Ocr;using Leadtools.Forms;using Leadtools.Forms.DocumentWriters;using Leadtools.WinForms;using Leadtools.Drawing;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;public void OcrPageExample(){string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");// Create an instance of the engineusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false)){// Start the engine using default parametersocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);// Create an OCR documentusing (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument()){// Add this image to the documentIOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);// Auto-recognize the zones in the pageocrPage.AutoZone(null);// Show its informationConsole.WriteLine("Size: {0} by {1} pixels", ocrPage.Width, ocrPage.Height);Console.WriteLine("Resolution: {0} by {1} dots/inch", ocrPage.DpiX, ocrPage.DpiX);Console.WriteLine("Bits/Pixel: {0}, Bytes/Line: {1}", ocrPage.BitsPerPixel, ocrPage.BytesPerLine);byte[] palette = ocrPage.GetPalette();int paletteEntries;if (palette != null)paletteEntries = palette.Length / 3;elsepaletteEntries = 0;Console.WriteLine("Number of entries in the palette: {0}", paletteEntries);Console.WriteLine("Original format of this page: {0}", ocrPage.OriginalFormat);Console.WriteLine("Has this page been recognized? : {0}", ocrPage.IsRecognized);ShowZonesInfo(ocrPage);// Recognize it and save it as PDFocrPage.Recognize(null);ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null);}// Shutdown the engine// Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown();}}private void ShowZonesInfo(IOcrPage ocrPage){Console.WriteLine("Zones:");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("----------------------------------");}}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.Forms.OcrImports Leadtools.FormsImports Leadtools.Forms.DocumentWritersImports Leadtools.WinFormsImports Leadtools.DrawingImports Leadtools.ImageProcessingImports Leadtools.ImageProcessing.Color<TestMethod>Public Sub OcrPageExample()Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif")Dim pdfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf")' Create an instance of the engineUsing ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)' Start the engine using default parametersocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)' Create an OCR documentUsing ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()' Add this image to the documentDim ocrPage As IOcrPage = ocrDocument.Pages.AddPage(tifFileName, Nothing)' Auto-recognize the zones in the pageocrPage.AutoZone(Nothing)' Show its informationConsole.WriteLine("Size: {0} by {1} pixels", ocrPage.Width, ocrPage.Height)Console.WriteLine("Resolution: {0} by {1} dots/inch", ocrPage.DpiX, ocrPage.DpiX)Console.WriteLine("Bits/Pixel: {0}, Bytes/Line: {1}", ocrPage.BitsPerPixel, ocrPage.BytesPerLine)Dim palette As Byte() = ocrPage.GetPalette()Dim paletteEntries As IntegerIf palette IsNot Nothing ThenpaletteEntries = palette.Length \ 3ElsepaletteEntries = 0End IfConsole.WriteLine("Number of entries in the palette: {0}", paletteEntries)Console.WriteLine("Original format of this page: {0}", ocrPage.OriginalFormat)Console.WriteLine("Has this page been recognized? : {0}", ocrPage.IsRecognized)ShowZonesInfo(ocrPage)' Recognize it and save it as PDFocrPage.Recognize(Nothing)ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, Nothing)End Using' Shutdown the engine' Note: calling Dispose will also automatically shutdown the engine if it has been startedocrEngine.Shutdown()End UsingEnd SubPrivate Sub ShowZonesInfo(ocrPage As IOcrPage)Console.WriteLine("Zones:")For Each ocrZone As OcrZone In ocrPage.ZonesDim index As Integer = 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("----------------------------------")NextEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"End Class
|
Products |
Support |
Feedback: IOcrPage Interface - Leadtools.Forms.Ocr |
Introduction |
Help Version 19.0.2017.6.6
|

Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.