←Select platform

OcrPageCharacters Property

Summary

The recognized OCR characters object associated with this page.

Syntax
C#
C++/CLI
Python
public IOcrPageCharacters OcrPageCharacters { get; } 
public:  
   property IOcrPageCharacters^ OcrPageCharacters 
   { 
      IOcrPageCharacters^ get() 
   } 
OcrPageCharacters # get  (DocumentPageText) 

Property Value

The recognized OCR characters object associated with this page if DocumentText.StoreOcrPageCharacters was true; otherwise, null. The default value is null.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
 
using Leadtools.Document; 
using Leadtools.Caching; 
using Leadtools.Annotations.Engine; 
using Leadtools.Ocr; 
using Leadtools.Barcode; 
using Leadtools.Document.Converter; 
 
public void StoreOcrPageCharactersExample() 
{ 
   // Initialize an OCR engine 
   IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD); 
   // Start the engine using default parameters 
   ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime"); 
 
   // Load a document that we know will be OCRed 
   string documentFile = @"C:\LEADTOOLS22\Resources\Images\ocr1.tif"; 
   using (LEADDocument document = DocumentFactory.LoadFromFile(documentFile, new LoadDocumentOptions())) 
   { 
      // Set the OCR engine 
      document.Text.OcrEngine = ocrEngine; 
      // First, do not store IOcrPageCharacters in DocumentPageText, this will 
      // cause our code to extract the character OCR confidences value to not work 
      document.Text.StoreOcrPageCharacters = false; 
      Console.WriteLine("Obtaining OCR characters confidence with StoreOcrPageCharacters equals to false. Should fail"); 
 
      // Now get the text 
      DocumentPage documentPage = document.Pages[0]; 
      DocumentPageText documentPageText = documentPage.GetText(); 
      // Build the words 
      documentPageText.BuildWords(); 
      ShowOcrConfidence(documentPageText); 
 
      Console.WriteLine("Obtaining OCR characters confidence with StoreOcrPageCharacters equals to true. Should work"); 
      document.Text.StoreOcrPageCharacters = true; 
      documentPageText = documentPage.GetText(); 
      // Build the words 
      documentPageText.BuildWords(); 
      ShowOcrConfidence(documentPageText); 
   } 
   ocrEngine.Dispose(); 
} 
 
private static void ShowOcrConfidence(DocumentPageText documentPageText) 
{ 
   Console.WriteLine("Showing OCR confidence value of the characters of the first word"); 
   if (documentPageText.Words == null) 
   { 
      Console.WriteLine("Nothing to show"); 
      return; 
   } 
 
   // Show the OCR character confidence for the first word 
   // Get the first word 
   DocumentWord word = documentPageText.Words[0]; 
   Console.WriteLine($"first word value:{word.Value}"); 
   // Get its characters 
   for (int characterIndex = word.FirstCharacterIndex; characterIndex <= word.LastCharacterIndex; characterIndex++) 
   { 
      // DocumentCharacter reference 
      DocumentCharacter documentCharacter = documentPageText.Characters[characterIndex]; 
      Console.WriteLine($" character at index {characterIndex} is {documentCharacter.Code} its isFromOcr value is {documentCharacter.IsFromOcr} and its bounds are {documentCharacter.Bounds}"); 
      Console.WriteLine($"Is end of line: {documentCharacter.IsEndOfLine}"); 
      Console.WriteLine($"Is end of word: {documentCharacter.IsEndOfWord}"); 
      Console.WriteLine($"Is right to left: {documentCharacter.IsRightToLeft}"); 
      // Ensure this is a character obtained from OCR 
      if (documentCharacter.IsFromOcr) 
      { 
         // See if we stored the IOcrPageCharacters in  
         if (documentPageText.OcrPageCharacters != null) 
         { 
            // We have it, get the corresponding OcrCharcater 
            // Get the zone characters 
            IOcrZoneCharacters ocrZoneCharacters = documentPageText.OcrPageCharacters[documentCharacter.OcrZoneIndex]; 
            // And the character in this zone 
            OcrCharacter ocrCharacter = ocrZoneCharacters[documentCharacter.OcrCharacterIndex]; 
            int confidence = ocrCharacter.Confidence; 
            Console.WriteLine($"   OCR character code is {ocrCharacter.Code} and confidence is {confidence}"); 
            // Sanity check 
            Debug.Assert(ocrCharacter.Code == documentCharacter.Code); 
         } 
         else 
         { 
            Console.WriteLine("   Failed to get OCR confidence"); 
         } 
      } 
   } 
} 
Requirements

Target Platforms

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

Leadtools.Document Assembly

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