public RasterImageFormat OriginalFormat { get; }
A RasterImageFormat enumeration member indicating the original file format of this page.
The original file format of the page is the format of the original file on disk, memory or URL, used when creating this IOcrPage. If this page was created from a RasterImage object created directly in memory, the format will be RasterImageFormat.Unknown.
The value of the OriginalFormat property can be useful when exporting the page back into a disk file with the format it was originally loaded from.
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 OcrPageExample()
{
string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");
string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");
// Create an instance of the engine
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
// Start the engine using default parameters
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
{
// Add this image to the document
IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);
// Auto-recognize the zones in the page
ocrPage.AutoZone(null);
// Show its information
Console.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;
else
paletteEntries = 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 PDF
ocrPage.Recognize(null);
ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null);
}
// Shutdown the engine
// Note: calling Dispose will also automatically shutdown the engine if it has been started
ocrEngine.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:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}