Skip to main content
テスト画像を見ると、材料リストは常に Ingredients field name の下かつ Cooking field name の上にあるセパレーターの上に位置するテキストフラグメントです。 これらの要素を記述しやすくし、可能な仮説の数を減らすため、Group 要素にグループ化します。
1

RecipeContents Group 要素を作成する

Group 要素を作成し、RecipeContents という名前を付けます。
2

IngredientsHeader 要素を追加する

RecipeContents 要素内に Static Text 要素を作成し、IngredientsHeader という名前を付けます。これは Ingredients という名前に対応します。Recipe 要素についての ステップ 10 と同様に、要素のプロパティを指定します。
3

Separator 要素を追加する

RecipeContents 要素内に、Cooking という名前の上にあるセパレーター用の Separator 要素を作成します。
  1. Separator タブで、セパレーターの方向を Horizontal に設定します。
  2. 要素の Properties ダイアログで Relations タブをクリックし、Ingredients: という名前の下、つまり IngredientsHeader 要素の Below に検索制約を設定します。
FlexiLayout をマッチングすると、FlexiLayout Studio が画像の下端をセパレーターとして扱うことがあります。これを回避するには、別の検索制約を追加します。Advanced pre-search relations フィールド (Properties ダイアログの Advanced タブ) に、次の制約を追加します。Ingredients: という名前に最も近いセパレーターを検索します。FlexiLayout language では、次のように記述します。
この制約は、グラフィカルユーザーインターフェースから指定することもできます。Relations タブをクリックし、Nearest を選択します。次に、To ドロップダウンリストで Element を選択し、Reference element として IngredientsHeader を指定します。
4

調整した FlexiLayout をマッチングする

調整した FlexiLayout を再度マッチングします。
Ingredients の見出しの周囲に描画された IngredientsHeader 要素と、Tree of Hypotheses に表示された Separator 仮説を含む、マッチング済みレシピ文書を示す ABBYY FlexiLayout Studio エディターのスクリーンショット。
5

IngredientsHeader をページ上部に制約する

IngredientsHeader 要素に別の検索制約を追加します。Advanced pre-search relations フィールド (Properties ダイアログの Advanced タブ) に、次の制約を追加します。画像の上半分で field name を検索します。FlexiLayout language では、次のように記述します。
6

Ingredients Paragraph 要素を追加する

RecipeContents 要素内に Paragraph 要素を作成し、Ingredients という名前を付けます。これは Ingredients field に対応します。要素の Properties ダイアログの Relations タブで、検索制約を設定します。Ingredients: 見出しの下、つまり IngredientsHeaderBelow、かつセパレーターの上、つまり Separator 要素の Above に設定します。テスト画像に対して FlexiLayout をマッチングし、FlexiLayout Studio がすべての画像で Ingredients field を検出することを確認します。

Ingredients block の作成

Ingredients block は RecipeNumber block と同様に作成します。唯一異なるのは、Ingredients block のソース要素として Ingredients 要素を指定する必要がある点です。