[SerializableAttribute()]
public abstract class FormFieldResult
<SerializableAttribute()>
Public MustInherit Class FormFieldResult
public abstract class FormFieldResult
implements java.io.Serializable
[SerializableAttribute()]
public ref class FormFieldResult abstract
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).
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;
///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");
}
}
}
Imports Leadtools
Imports Leadtools.Barcode
Imports Leadtools.Codecs
Imports Leadtools.Forms.Common
Imports Leadtools.Ocr
Imports Leadtools.Forms.Processing
Imports Leadtools.Forms.Recognition
Imports Leadtools.Forms.Recognition.Barcode
Imports Leadtools.Forms.Recognition.Ocr
'''This example prints field 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
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document