LEADTOOLS Forms (Leadtools.Forms.Processing assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
FormFieldResult Class
See Also  Members  
Leadtools.Forms.Processing Namespace : FormFieldResult Class



The FormFieldResult Class is available as an add-on to the LEADTOOLS Document and Medical Imaging toolkits.

Provides the results of processing the field. The base class for all form field result classes.

Object Model

FormFieldResult Class

Syntax

Visual Basic (Declaration) 
<SerializableAttribute()>
Public MustInherit Class FormFieldResult 
Visual Basic (Usage)Copy Code
Dim instance As FormFieldResult
C# 
[SerializableAttribute()]
public abstract class FormFieldResult 
C++/CLI 
[SerializableAttribute()]
public ref class FormFieldResult abstract 

Example

Visual BasicCopy Code
'''This example prints filds results.
Private Function GetDataString(ByVal data As Byte()) As String
   Dim result As String = String.Empty
   Dim i As Integer = 0
   Do While i < data.Length
      result = result & System.Convert.ToChar(data(i)).ToString()
      i += 1
   Loop

   Return result
End Function
Public Sub PrintOutFieldResults(ByVal processingEngine As FormProcessingEngine)
   For Each page As FormPage In processingEngine.Pages
      For Each field As FormField In page
         Dim row As String() = New String(4){}
         row(0) = field.Name
         row(4) = field.Bounds.ToString()

         If Not field.Result Is Nothing Then
            If TypeOf field Is TextFormField Then
               row(1) = "Text"
               row(2) = (TryCast((TryCast(field, TextFormField)).Result, TextFormFieldResult)).Text
               row(3) = (TryCast((TryCast(field, TextFormField)).Result, TextFormFieldResult)).AverageConfidence.ToString()
            ElseIf TypeOf field Is OmrFormField Then
               row(1) = "Omr"
               row(2) = (TryCast((TryCast(field, OmrFormField)).Result, OmrFormFieldResult)).Text
               row(3) = (TryCast((TryCast(field, OmrFormField)).Result, OmrFormFieldResult)).AverageConfidence.ToString()
            ElseIf TypeOf field Is BarcodeFormField Then
               row(1) = "Barcode"
               Dim i As Integer = 0
               Do While i < (TryCast((TryCast(field, BarcodeFormField)).Result, BarcodeFormFieldResult)).BarcodeData.Count
                  row(2) = GetDataString((TryCast((TryCast(field, BarcodeFormField)).Result, BarcodeFormFieldResult)).BarcodeData(i).GetData())
                  i += 1
               Loop

               row(3) = "N/A"
            ElseIf TypeOf field Is ImageFormField Then
               row(1) = "Image"
               row(2) = "N/A"
               row(3) = "N/A"
            End If
         End If
         For Each line As String In row
            Console.WriteLine(line & Constants.vbCrLf)
         Next line
      Next field
   Next page
End Sub
C#Copy Code
///This example prints filds 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");
      }
   }
}

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).

Inheritance Hierarchy

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Forms requires a Forms Module license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features