メインコンテンツへスキップ
画像を解析すると、Company field は各ドキュメントの先頭ページの上 3 分の 1 に常に配置されていることがわかります。 Company field を検索するには、Group 型の CompanyGroup element に含まれる Static Text 型の element を使用します。 CompanyGroup element を作成するには、Group 型の element を作成し、名前を CompanyGroup にします。設定は既定のままにします。 Company element を作成するには:
  1. CompanyGroup element 内に Static Text 型の element を作成し、名前を Company にします。
  2. Static Text tab をクリックします。
  3. [Search text from file] を選択し、Companies.txt file への path を指定します (folder %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\English\Invoice\Dict) 。
  1. Advanced tab をクリックします。
  2. Advanced pre-search relations で、追加の検索条件を指定します。ドキュメントの先頭ページの上 3 分の 1 にある画像オブジェクトを検索するFlexiLayout language では、この条件は次のように記述できます。 Above: Page(1).RectGlobal.Top + Page(1).RectGlobal.Height/3;
  3. FlexiLayout をマッチングして、この element が存在するすべての画像で確実に検出されることを確認します。
  4. マッチング結果を確認すると、一部のドキュメントでは会社名を見つけられなかったことがわかります。これは、一部のドキュメントではテキストが 2 行にわたって記載されているのに対し、element の properties では 1 行テキストを指定していたためです。これを修正するには、次の変更を行います
    • Companies.txt file を開き、会社名を YOUR SERVICE のようにスペースを入れて指定します。これは、プログラムが 1 行で記載されている必要のないフレーズを検索することを意味します。
    • Company element の Properties ダイアログを開き、Static Text tab をクリックします。
    • [Permit multiple lines] を選択し、そのフレーズを複数行で記載できるようにします。
    • [Line break penalty] を 1 に設定します。これにより、テキストが複数行で記載されていても、生成される hypothesis の quality が維持されます。値が小さいほど、その hypothesis にペナルティが与えられることを意味します。
  5. FlexiLayout をマッチングして、test images 上で program がその element を確実に検出することを確認します。
  6. Company block の location を、Company element の rectangular region を縦横に 5 ドット拡張したものとして指定します。これを行うには、Expression を選択し、次の expression を指定します。 Rect outputRect; outputRect = CompanyGroup.Company.Rect; IsNull = CompanyGroup.Company.IsNull; OutputRegion = outputRect; OutputRegion.Inflate (5dt, 5dt);