←Select platform

OmrFormFieldResult Class

Summary
Provides the results of processing the OMR field.

Syntax
C#
C++/CLI
Java
Python
[SerializableAttribute()] 
public class OmrFormFieldResult : OcrFormFieldResult 
public class OmrFormFieldResult 
    extends OcrFormFieldResult 
    implements java.io.Serializable 
[SerializableAttribute()] 
public ref class OmrFormFieldResult : public OcrFormFieldResult  
class OmrFormFieldResult(OcrFormFieldResult): 
Remarks

Fields are defined for each page in the processing engine. All fields require you fill in the Property specifying where the field is located, and a Name Property.

Fields can be added or retrieved through the FormProcessingEngine.Pages property. Once fields are defined, they can be loaded/saved from disk using the FormProcessingEngine.LoadFields and FormProcessingEngine.SaveFields methods, allowing you to define MasterForm fields just once and save them to disk. LEADTOOLS supports TextFormField, OmrFormField, BarcodeFormField, ImageFormField, and custom user-defined fields derived from FormField. When obtaining processing results, you should check for the type of each field, and cast it to the appropriate type in order to obtain the field specific results (barcode, image, etc).

Example
C#
Java
using Leadtools; 
using Leadtools.Barcode; 
using Leadtools.Codecs; 
using Leadtools.Forms.Common; 
using Leadtools.Ocr; 
using Leadtools.Forms.Processing; 
using Leadtools.Forms.Recognition; 
using Leadtools.Forms.Recognition.Barcode; 
using Leadtools.Forms.Recognition.Ocr; 
using Leadtools.Document; 
 
///This example prints field results. 
private string GetDataString(byte[] data) 
{ 
   string result = string.Empty; 
 
   for (int i = 0; i < data.Length; i++) 
   { 
      result = result + System.Convert.ToChar(data[i]).ToString(); 
   } 
 
   return result; 
} 
public void PrintOutFieldResults(FormProcessingEngine processingEngine) 
{ 
   foreach (FormPage page in processingEngine.Pages) 
   { 
      foreach (FormField field in page) 
      { 
         string[] row = new string[5]; 
         row[0] = field.Name; 
         row[4] = field.Bounds.ToString(); 
 
         if (field.Result != null) 
         { 
            if (field is TextFormField) 
            { 
               row[1] = "Text"; 
               row[2] = ((field as TextFormField).Result as TextFormFieldResult).Text; 
               row[3] = ((field as TextFormField).Result as TextFormFieldResult).AverageConfidence.ToString(); 
            } 
            else if (field is OmrFormField) 
            { 
               row[1] = "Omr"; 
               row[2] = ((field as OmrFormField).Result as OmrFormFieldResult).Text; 
               row[3] = ((field as OmrFormField).Result as OmrFormFieldResult).AverageConfidence.ToString(); 
            } 
            else if (field is BarcodeFormField) 
            { 
               row[1] = "Barcode"; 
               for (int i = 0; i < ((field as BarcodeFormField).Result as BarcodeFormFieldResult).BarcodeData.Count; i++) 
                  row[2] = GetDataString(((field as BarcodeFormField).Result as BarcodeFormFieldResult).BarcodeData[i].GetData()); 
 
               row[3] = "N/A"; 
            } 
            else if (field is ImageFormField) 
            { 
               row[1] = "Image"; 
               row[2] = "N/A"; 
               row[3] = "N/A"; 
            } 
         } 
         foreach (string line in row) 
            Console.WriteLine(line + "\r\n"); 
      } 
   } 
} 
 
import static org.junit.Assert.assertTrue; 
 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 
import java.util.ArrayList; 
import java.util.Scanner; 
import java.util.UUID; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
 
import leadtools.*; 
import leadtools.ocr.*; 
import leadtools.codecs.*; 
import leadtools.document.*; 
import leadtools.forms.common.*; 
import leadtools.forms.processing.*; 
import leadtools.forms.recognition.*; 
import leadtools.forms.recognition.ocr.OcrObjectsManager; 
 
 
private String getDataString(byte[] data) { 
   String result = ""; 
 
   for (int i = 0; i < data.length; i++) { 
 
      result = result + (data[i]); 
 
   } 
   return result; 
} 
 
public void FormProcessingEnginePrintFieldResultsExample() { 
   FormProcessingEngine processingEngine = new FormProcessingEngine(); 
 
   // Create a new page for the form. 
   FormPage formPage = new FormPage(1, 150, 150); 
   OmrFormField omrField = new OmrFormField(); 
   omrField.setName("Single"); 
   omrField.setBounds(new LeadRect(196, 327, 1402, 40)); 
   formPage.add(omrField); 
 
   // Add the page to the engine 
   processingEngine.getPages().add(formPage); 
 
   for (FormPage page : processingEngine.getPages()) { 
      TextFormField tff = new TextFormField(); 
      OmrFormField off = new OmrFormField(); 
      BarcodeFormField bff = new BarcodeFormField(); 
      ImageFormField iff = new ImageFormField(); 
 
      for (FormField field : page) { 
 
         String[] row = new String[5]; 
         row[0] = field.getName(); 
         row[4] = field.getBounds().toString(); 
 
         System.out.println("Result: " + field.getResult()); 
         if (field.getResult() != null) { 
 
            if (field.equals(tff)) { 
               row[1] = "Text"; 
               row[2] = ((TextFormFieldResult) field.getResult()).getText(); 
               row[3] = "" + ((TextFormFieldResult) field.getResult()).getAverageConfidence(); 
            } else if (field.equals(off)) { 
               row[1] = "Omr"; 
               row[2] = ((OmrFormFieldResult) field.getResult()).getText(); 
               row[3] = "" + ((OmrFormFieldResult) field.getResult()).getAverageConfidence(); 
            } else if (field.equals(bff)) { 
               row[1] = "Barcode"; 
               for (int i = 0; i < ((BarcodeFormFieldResult) field.getResult()).getBarcodeData().size(); i++) { 
                  row[2] = getDataString( 
                        ((BarcodeFormFieldResult) field.getResult()).getBarcodeData().get(i).getData()); 
               } 
               row[3] = "N/A"; 
            } else if (field.equals(iff)) { 
               row[1] = "Image"; 
               row[2] = "N/A"; 
               row[3] = "N/A"; 
            } 
         } 
 
         for (String line : row) { 
 
            System.out.println(line + "\r\n"); 
 
         } 
      } 
   } 
} 
Requirements

Target Platforms

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

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