LEADTOOLSフォーム(Leadtools.Forms.Processingアセンブリ)

フレームを表示

FormFieldResultクラス






メンバ 
フィールドを処理する結果を提供します。すべてのフォームフィールド結果クラスのためのベースクラス。
オブジェクトモデル
構文
[SerializableAttribute()]
public abstract class FormFieldResult 
'Declaration
 
<SerializableAttribute()>
Public MustInherit Class FormFieldResult 
'Usage
 
Dim instance As FormFieldResult

            

            
[SerializableAttribute()]
public ref class FormFieldResult abstract 
解説

フィールドは、処理エンジンにおけるページごとに定義されます。すべてのフィールドは、フィールドがどこにあるかについて指定しているプロパティとNameプロパティに設定することを義務づけます。

フィールドは、FormProcessingEngine.Pagesプロパティを通して追加されることができるか、取り戻されることができます。一度フィールドが定義されたら、ロードされることができて/FormProcessingEngine.LoadFieldsFormProcessingEngine.SaveFieldsメソッドを用いてディスクから保存されることができます。そして、ただ一回MasterFormフィールドを定義して、ディスクに保存することができます。LEADTOOLSは、TextFormFieldOmrFormFieldBarcodeFormFieldImageFormFieldFormFieldに由来するカスタムユーザ定義フィールドをサポートします。処理結果を得るとき、各方面の型を調べなければならなくて、フィールドに特有の結果(バーコード、imageその他)を得るために適切な型にそれをキャストしなければなりません。

サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Barcode
Imports Leadtools.Codecs
Imports Leadtools.Forms
Imports Leadtools.Forms.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
using Leadtools;
using Leadtools.Barcode;
using Leadtools.Codecs;
using Leadtools.Forms;
using Leadtools.Forms.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");
      }
   }
}
必要条件

ターゲットプラットホーム

参照

参照

FormFieldResultメンバ
Leadtools.Forms.Processing名前空間

Leadtools.Formsは、フォームモジュールのライセンスと、解除キーが必要です。詳細は、以下を参照してください。Imaging Pro/Document/Medicalの機能