> ## 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.

# Beispiel 4. Schritt 5.6: Feld Lieferadresse sowie die Elemente grAddress, wgAddressAbove und DeliveryAddress

> Extrahieren Sie die mehrzeilige Lieferadresse mit einer grAddress-Gruppe, einem White Gap wgAddressAbove zur Begrenzung des Suchbereichs und einem DeliveryAddress-Paragraph-Element.

Suchen Sie nach dem Feld **Lieferadresse**:

* rechts vom Feldnamen und darunter
* unter Verwendung eines Elements [White Gap](/de/flexi-capture/fls/template/white-gap), um den Suchbereich nach unten zu begrenzen
* unter Verwendung eines Elements vom Typ [Paragraph](/de/flexi-capture/fls/template/text-chain)

<div id="create-the-graddress-group-element">
  ## Erstellen Sie das Gruppenelement grAddress
</div>

<Steps>
  <Step title="Erstellen Sie das Gruppenelement">
    Erstellen Sie im Element **InvoiceHeader** ein [Group](/de/flexi-capture/fls/template/elements-compound)-Element und nennen Sie es **grAddress**.
  </Step>

  <Step title="Legen Sie die Suchbedingungen fest">
    Klicken Sie auf die Registerkarte **Beziehung** und geben Sie die folgenden Suchbedingungen für die Gruppenelemente an:

    * Oberhalb des Elements **kwDeliveryAddress**, **Versatz** = -400.
    * Links von der rechten Begrenzung des Elements **kwDeliveryAddress**, **Versatz** = -800, **Reference boundary** = **Right**.
    * Rechts von der linken Begrenzung des Elements **kwDeliveryAddress**, **Versatz** = -50, **Reference boundary** = **Left**.
    * Unterhalb der oberen Begrenzung des Elements **kwDeliveryAddress**, **Versatz** = -20, **Reference boundary** = **Top**.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_5_6_1_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=341cbe7bccc32ddf3e5af49b3bd40f7b" alt="Screenshot der Registerkarte Beziehung der Eigenschaften des Gruppenelements grAddress in ABBYY FlexiLayout Studio, der die Versatz- und Reference-boundary-Suchbedingungen zeigt, mit denen die Gruppe relativ zum Element kwDeliveryAddress positioniert wird." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_5_6_1_.PNG" />
    </Frame>
  </Step>
</Steps>

<div id="create-the-wgaddressabove-white-gap-element">
  ## Erstellen des White-Gap-Elements wgAddressAbove
</div>

Eine horizontale [White Gap](/de/flexi-capture/fls/template/white-gap) begrenzt den Suchbereich für das Element **DeliveryAddress** nach unten.

<Steps>
  <Step title="White-Gap-Element erstellen">
    Erstellen Sie im Element `InvoiceHeader.grAddress` ein [White-Gap-Element](/de/flexi-capture/fls/template/white-gap) und nennen Sie es **wgAddressAbove**.
  </Step>

  <Step title="Orientierung und Höhe festlegen">
    Klicken Sie auf die Registerkarte **White Gap**. Wählen Sie unter **Orientierung** die Option **Horizontal** aus und setzen Sie **Mindesthöhe** auf 55.

    <Tip>
      Berücksichtigen Sie bei der Auswahl der Höhen- und Breitenwerte für White Gaps die Geometrie (Grenzen und Größen) der angrenzenden Bildobjekte im Modus für Voraberkennungsergebnisse.
    </Tip>
  </Step>

  <Step title="Objekttyp beschränken">
    Da Sie innerhalb eines Absatzes nach einer White Gap suchen, wählen Sie unter **Unter Objekten des Typs suchen** nur **Text** aus.
  </Step>

  <Step title="Schwellenwerte für Störanteile festlegen">
    Geben Sie unter **Störanteile** folgende Werte an:

    * **Untere Schwellenwertgrenze** – 20.
    * **Obere Schwellenwertgrenze** – 80.
    * **Schwellenwertkoeffizient (%)** – 10.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_5_6_2_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=782a2385535990435cb356881b29b9c0" alt="Screenshot der Registerkarte White Gap in den Element-Eigenschaften von wgAddressAbove in ABBYY FlexiLayout Studio, der die horizontale Orientierung, die Mindesthöhe und die Schwellenwerte für Störanteile der White Gap zeigt." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_5_6_2_.PNG" />
    </Frame>

    <Note>
      Die Werte für die Eigenschaften **Untere Schwellenwertgrenze**, **Obere Schwellenwertgrenze** und **Schwellenwertkoeffizient (%)** können nur durch Ausprobieren ermittelt werden. Beginnen Sie mit den Standardwerten. Falls sie nicht funktionieren, ändern Sie sie, bis die White Gap auf allen Testbildern erkannt wird.
    </Note>
  </Step>

  <Step title="Andere Standardwerte beibehalten">
    Geben Sie keine zusätzlichen Suchbedingungen an und behalten Sie für die übrigen Optionen die Standardwerte bei.
  </Step>

  <Step title="Positionsbeziehung hinzufügen">
    Klicken Sie auf die Registerkarte **Beziehungen**. Da sich die White Gap nur unterhalb der Schlüsselwörter des Namens **kwDeliveryAddress** befinden kann, geben Sie folgende Suchbedingung an:

    * Unterhalb des Elements **kwDeliveryAddress**, **Versatz** = 20.

    Der **Versatz** verhindert, dass FlexiLayout Studio White Gaps in anderen Bereichen des Bildes findet, beispielsweise zwischen Feldname und Text.
  </Step>

  <Step title="Vorsuchbedingung hinzufügen">
    Klicken Sie auf die Registerkarte **Advanced**. Das Feld **Lieferadresse** ist nicht auf allen Bildern vorhanden, erscheint aber, wenn es vorkommt, immer zusammen mit seinem Namen. Geben Sie im Feld **Advanced pre-search relations** folgende zusätzliche Bedingung an: Suchen Sie nur nach dem Bildobjekt, wenn das Element **kwDeliveryAddress** erkannt wird. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    If InvoiceHeader.kwDeliveryAddress.IsNull Then DontFind;
    ```
  </Step>

  <Step title="FlexiLayout abgleichen">
    Gleichen Sie das FlexiLayout ab, um zu prüfen, ob das Element **wgAddressAbove** auf allen Bildern erkannt wird.
  </Step>

  <Step title="Auf die oberste Lücke beschränken">
    FlexiLayout Studio findet manchmal mehr als eine White Gap im Suchbereich und kann nicht immer die richtige auswählen. Legen Sie daher zusätzliche Suchbedingungen fest. Relevant ist die oberste Lücke im Suchbereich. Geben Sie im Feld **Advanced pre-search relations** folgende zusätzliche Bedingung an: Suchen Sie nach dem Bildobjekt, das der oberen Begrenzung der ersten Seite am nächsten liegt. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    NearestY: Page(1).RectGlobal.Top;
    ```
  </Step>

  <Step title="Abgleich überprüfen">
    Schließen Sie das Element **InvoiceFooter** vorübergehend aus und gleichen Sie das FlexiLayout ab.
  </Step>
</Steps>

<div id="create-the-deliveryaddress-paragraph-element">
  ## Erstellen Sie das Paragraph-Element DeliveryAddress
</div>

<Steps>
  <Step title="Paragraph-Element erstellen">
    Erstellen Sie im Element `InvoiceHeader.grAddress` ein [Paragraph](/de/flexi-capture/fls/template/text-chain)-Element und benennen Sie es **DeliveryAddress**.
  </Step>

  <Step title="Positionsbeziehung hinzufügen">
    Klicken Sie auf die Registerkarte **Beziehung**. Da **DeliveryAddress** nur oberhalb der White Gap **wgAddressAbove** liegen kann, geben Sie diese Suchbedingung an:

    * **Oberhalb** des Elements **wgAddressAbove**, **Versatz** = 0.

    Der Suchbereich für das Element **DeliveryAddress** ist bereits auf Ebene der Gruppe `InvoiceHeader.grAddress` festgelegt, daher muss er hier nicht erneut angegeben werden.
  </Step>

  <Step title="Den Feldnamen aus dem Suchbereich ausschließen">
    Klicken Sie auf die Registerkarte **Advanced**. Der Name des Felds **DeliveryAddress** befindet sich ebenfalls innerhalb des Suchbereichs. Schließen Sie ihn daher aus, damit nur der Wert von **DeliveryAddress** erfasst wird. Der Suchbereich enthält außerdem Trennlinien und Störungen, die am besten ebenfalls ausgeschlossen werden. Anstatt nur die Region des Elements **kwDeliveryAddress** auszuschließen, übernehmen Sie diese Region, vergrößern Sie sie so, dass sie alle Störungen umfasst, und schließen Sie das daraus resultierende Rechteck aus. Geben Sie diese Suchbedingungen im Feld **Advanced pre-search relations** an:

    ```text theme={null}
    If InvoiceHeader.kwDeliveryAddress.IsNull Then DontFind;
    Else
    // Zeichnet ein Rechteck um den Feldnamen (mit etwas Versatz für die Begrenzungen)
    { Let Left = InvoiceHeader.kwDeliveryAddress.Rect.Left - 100dt;
    Let Top = InvoiceHeader.kwDeliveryAddress.Rect.Top - 100dt;
    Let Right = InvoiceHeader.kwDeliveryAddress.Rect.Right + 20dt;
    Let Bottom = InvoiceHeader.kwDeliveryAddress.Rect.Bottom;
    // Schließt das resultierende Rechteck aus dem Suchbereich des Felds aus
    ExcludeRect (Left, Top, Right, Bottom);
    }
    ```
  </Step>

  <Step title="FlexiLayout abgleichen">
    Schließen Sie das Element **InvoiceFooter** vorübergehend aus und gleichen Sie das FlexiLayout ab.
  </Step>

  <Step title="Blockregion festlegen">
    Legen Sie die Position des Blocks **DeliveryAddress** als rechteckige Region des erkannten Elements **DeliveryAddress** fest, vereinfacht für eine übersichtlichere Darstellung und vertikal sowie horizontal um 5 dots erweitert. Wählen Sie die Option **Expression** aus und geben Sie diesen Ausdruck ein:

    ```text theme={null}
    Rect outputRect;
    OutputRegion = InvoiceHeader.grAddress.DeliveryAddress.SimplifiedRegion;
    IsNull = InvoiceHeader.grAddress.DeliveryAddress.IsNull;
    OutputRegion.Inflate (5dt, 5dt);
    ```
  </Step>
</Steps>
