←Select platform

DocumentManager Property

Allows you to create new OCR documents that are used to create final documents such as PDF or Microsoft Word from the recognition results.
public IOcrDocumentManager DocumentManager { get; } 
@property (nonatomic, strong, readonly) LTOcrDocumentManager *documentManager 
public OcrDocumentManager getDocumentManager() 
property IOcrDocumentManager^ DocumentManager { 
   IOcrDocumentManager^ get(); 
DocumentManager # get  (IOcrEngine) 

Property Value

The instance of the IOcrDocumentManager object that allow you to create final documents such as PDF or Microsoft Word from the recognition results.


The DocumentManager allows you to do the following:

  • Create instance of IOcrDocument objects that encapsulate an OCR'ed document. Each IOcrDocument contains an IOcrDocument.Pages property that is an implementation of standard .NET collection of IOcrPage objects. Use this member to add, remove or update image (raster) pages in the OCR document. Pages can be image files on disk, memory or even in a remote URL. Any file format supported by LEADTOOLS (TIFF, JPEG, BMP, etc) can be loaded into the OCR document. At any time, use the various IOcrPage methods to zone the page (or pages) and recognize the objects in them in preparation to saved as a document. For more information refer to IOcrDocument, IOcrPageCollection and IOcrPage. Once you are done with adding and preparing the pages, you can use the save methods of the IOcrDocument object to save the document into its final format. LEADTOOLS supports saving to various standard document formats such as PDF, Microsoft Word, HTML and several others. For more information, refer to IOcrDocumentManager, IOcrDocument and DocumentFormat.
  • Get or set the options to use when creating new documents such as the font names.

For more information, refer to IOcrDocumentManager.

You must call the Startup method before you can use the DocumentManager.

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 directory 
   if (Directory.Exists(outputDirectory)) 
      Directory.Delete(outputDirectory, true); 
   // Create an instance of the engine 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) 
      // Start the engine using default parameters 
      Console.WriteLine("Starting up the engine..."); 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
      // Create the OCR document 
      Console.WriteLine("Creating the OCR document..."); 
      IOcrDocumentManager ocrDocumentManager = ocrEngine.DocumentManager; 
      using (IOcrDocument ocrDocument = ocrDocumentManager.CreateDocument()) 
         // Add the pages to the document 
         Console.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 Recognize 
         Console.WriteLine("Recognizing all the pages..."); 
         // Save to all the formats supported by this OCR engine 
         Array 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 document 
            ocrDocument.Save(outputFileName, format, null); 
            // If this is the LTD format, convert it to PDF 
            if (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 engine 
         string[] 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 document 
            ocrDocumentManager.EngineFormat = engineFormat; 
            ocrDocument.Save(outputFileName, DocumentFormat.User, null); 
      // Shutdown the engine 
      // Note: calling Dispose will also automatically shutdown the engine if it has been started 
      Console.WriteLine("Shutting down..."); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime"; 

Target Platforms

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

Leadtools.Ocr Assembly

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