public IOcrDocument CreateDocument()
An object implementing IOcrDocument that can participate in recognition and saving operations.
This method creates a memory-based IOcrDocument. It is the equivalent of CreateDocument(null, OcrCreateDocumentOptions.InMemory). For more information on memory and file-based documents, refer to Programming with the LEADTOOLS .NET OCR.
Typical OCR operation using the IOcrEngine involves starting up and then creating an OCR document using the CreateDocument method then adding the pages into it and perform either automatic or manual zoning. Once this is done, IOcrPage.Recognize is called on each page to collect the recognition data and have it stored internally in the page. After the recognition data is collected, you use the various IOcrDocument.Save or IOcrDocument.SaveXml methods to save the document to its final format.
When you are done using the IOcrDocument object created by this method, you should dispose it as soon as possible to free its resources. Disposing an IOcrDocument object will free all the pages stored inside its IOcrDocument.Pages collection.
using Leadtools;using Leadtools.Codecs;using Leadtools.Ocr;using Leadtools.Forms.Common;using Leadtools.Document.Writer;using Leadtools.WinForms;public void OcrDocumentManagerExample(){string tifFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");string tifFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Ocr2.tif");string outputDirectory = Path.Combine(LEAD_VARS.ImagesDir, "OutputDirectory");// Create the output directoryif (Directory.Exists(outputDirectory))Directory.Delete(outputDirectory, true);Directory.CreateDirectory(outputDirectory);// Create an instance of the engineusing (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)){// Start the engine using default parametersConsole.WriteLine("Starting up the engine...");ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);// Create the OCR documentConsole.WriteLine("Creating the OCR document...");IOcrDocumentManager ocrDocumentManager = ocrEngine.DocumentManager;using (IOcrDocument ocrDocument = ocrDocumentManager.CreateDocument()){// Add the pages to the documentConsole.WriteLine("Adding the pages...");ocrDocument.Pages.AddPage(tifFileName1, null);ocrDocument.Pages.AddPage(tifFileName2, null);// Recognize the pages to this document. Note, we did not call AutoZone, it will explicitly be called by RecognizeConsole.WriteLine("Recognizing all the pages...");ocrDocument.Pages.Recognize(null);// Save to all the formats supported by this OCR engineArray formats = Enum.GetValues(typeof(DocumentFormat));foreach (DocumentFormat format in formats){string friendlyName = DocumentWriter.GetFormatFriendlyName(format);Console.WriteLine("Saving (using default options) to {0}...", friendlyName);// Construct the output file name (output_directory + document_format_name + . + extension)string extension = DocumentWriter.GetFormatFileExtension(format);string outputFileName = Path.Combine(outputDirectory, format.ToString() + "." + extension);// Save the documentocrDocument.Save(outputFileName, format, null);// If this is the LTD format, convert it to PDFif (format == DocumentFormat.Ltd){Console.WriteLine("Converting the LTD file to PDF...");string pdfFileName = Path.Combine(outputDirectory, format.ToString() + "_pdf.pdf");DocumentWriter docWriter = ocrEngine.DocumentWriterInstance;docWriter.Convert(outputFileName, pdfFileName, DocumentFormat.Pdf);}}// Now save to all the engine native formats (if any) supported by the enginestring[] engineFormats = ocrDocumentManager.GetSupportedEngineFormats();foreach (string engineFormat in engineFormats){string friendlyName = ocrDocumentManager.GetEngineFormatFriendlyName(engineFormat);Console.WriteLine("Saving to engine native format {0}...", friendlyName);// Construct the output file name (output_directory + "engine" + engine_format_name + . + extension)string extension = ocrDocumentManager.GetEngineFormatFileExtension(engineFormat);string outputFileName = Path.Combine(outputDirectory, "engine_" + engineFormat + "." + extension);// To use this format, set it in the IOcrDocumentManager.EngineFormat and do a normal save using DocumentFormat.User// Save the documentocrDocumentManager.EngineFormat = engineFormat;ocrDocument.Save(outputFileName, DocumentFormat.User, null);}}// Shutdown the engine// Note: calling Dispose will also automatically shutdown the engine if it has been startedConsole.WriteLine("Shutting down...");ocrEngine.Shutdown();}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";}