> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# サンプル 4. Step 10: Company field、CompanyGroup Group element、Company element

> FlexiLayout Studio サンプル 4 で、1 ページ目の上 3 分の 1 の範囲内で辞書ファイルを検索する Static Text element を使用して Company field を検出します。

画像を解析すると、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`)。

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_10.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=f26d3ee954f0ed50176ef7762b60386e" alt="ABBYY FlexiLayout Studio の Company element の properties にある Static Text tab のスクリーンショット。Search text from file オプションが選択され、Companies.txt 辞書ファイルへの path が表示されています。" width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_10.png" />
</Frame>

4. Advanced tab をクリックします。
5. Advanced pre-search relations で、追加の検索制約を指定します: ドキュメントの先頭ページの上 3 分の 1 にある画像オブジェクトを検索します。[FlexiLayout language](/ja/flexi-capture/fls/code/general-code) では、この制約は次のように記述できます:

   ```text theme={null}
   Above: Page(1).RectGlobal.Top + Page(1).RectGlobal.Height/3;
   ```
6. FlexiLayout をマッチングして、この element が存在するすべての画像で確実に検出されることを確認します。
7. マッチング結果を確認すると、一部のドキュメントでは会社名を見つけられなかったことがわかります。これは、一部のドキュメントではテキストが 2 行にわたって記載されているのに対し、element の properties では 1 行テキストが指定されていたためです。これを修正するには、次の変更を行います:
   * `Companies.txt` file を開き、会社名を **YOUR SERVICE** のようにスペースを入れて指定します。これは、プログラムが複数行にまたがる可能性のあるフレーズを検索することを意味します。
   * **Company** element の **Properties** ダイアログを開き、Static Text tab をクリックします。
   * \[Permit multiple lines] を選択し、そのフレーズを複数行で記載できるようにします。
   * \[Line break penalty] を 1 に設定します。これにより、テキストが複数行で記載されていても、生成される hypothesis の quality が維持されます。値が小さいほど、その hypothesis にペナルティが与えられることを意味します。
8. FlexiLayout をマッチングして、test images 上で program がその element を確実に検出することを確認します。
9. **Company** block の location を、**Company** element の rectangular region を縦横に 5 ドット拡張したものとして指定します。これを行うには、Expression を選択し、次の expression を指定します。

   ```text theme={null}
   Rect outputRect;
   outputRect = CompanyGroup.Company.Rect;
   IsNull = CompanyGroup.Company.IsNull;
   OutputRegion = outputRect;
   OutputRegion.Inflate (5dt, 5dt);
   ```
