> ## 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 8: Table-Element, InvoiceTable-Element

> Kombinieren Sie die vorbereiteten Elemente zu einem InvoiceTable-Table-Element, das die mehrseitige Rechnungstabelle mit Master columns und Spalten-Content-Types findet.

Nachdem alle Vorbereitungen abgeschlossen sind, können Sie das Feld Invoice Table suchen, indem Sie ein Table-Element erstellen:

1. **Kopfzeile** der Tabelle. Wie zuvor festgelegt, geben Sie die Spaltennamen mithilfe bereits erkannter Hilfselemente an.
2. **Fußzeile** der Tabelle. Wie zuvor festgelegt, wird die **Fußzeile** mithilfe des bereits erkannten erforderlichen Elements **Paragraph** aus der Gruppe **InvoiceFooter** angegeben, das den Beginn des Schlussteils kennzeichnet. Dieses Element wurde als das dem unteren Rand der Tabelle nächstgelegene Element beschrieben.
3. Suchbereich für die Tabelle. Sie können den Suchbereich auf der rechten Seite mithilfe des Namens der letzten Spalte **Sales** begrenzen, die für keine anderen Zwecke benötigt wird.

<div id="create-the-invoicetable-element">
  ## Erstellen des Elements InvoiceTable
</div>

So erstellen Sie ein InvoiceTable-Element:

1. Erstellen Sie im **SearchElements**-Baum ein Element vom Typ Table und benennen Sie es als **InvoiceTable**.
2. Klicken Sie auf die Registerkarte Columns.
3. Klicken Sie auf **Select**, um den zuvor in [Schritt 3](/de/flexi-capture/fls/tutorial4/4step3) erstellten Block **InvoiceTable** als den zu suchenden Block auszuwählen.
4. Geben Sie die Suchparameter für die Tabellenspalten an:
   * Wählen Sie in der Spaltenliste **Reference** aus und klicken Sie auf die Schaltfläche Properties....
     Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element `TableHeader.kwReference`. Um es zu verwenden, wählen Sie Use found element as column name aus, klicken Sie dann auf <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Schaltfläche „Durchsuchen“" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> und wählen Sie `TableHeader.kwReference` aus.
   * Wählen Sie in der Spaltenliste **Bezeichnung** aus und klicken Sie auf die Schaltfläche Properties....
     Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element `TableHeader.kwDesignation`.
   * Wählen Sie in der Spaltenliste **Unit** aus und klicken Sie auf die Schaltfläche Properties....
     Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element `TableHeader.kwUnit`.
   * Wählen Sie in der Spaltenliste **Menge** aus und klicken Sie auf die Schaltfläche Properties....
     Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element `TableHeader.kwQuantity`.
   * Wählen Sie in der Spaltenliste **UnitPrice** aus und klicken Sie auf die Schaltfläche Properties....
     Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element `TableHeader.kwUnitPrice`.
   * Wählen Sie in der Spaltenliste **Gesamtbetrag** aus und klicken Sie auf die Schaltfläche Properties....
     Verwenden Sie für den Namen dieser Spalte das zuvor erkannte Element `TableHeader.kwTotal`.
5. Klicken Sie auf die Registerkarte Reihenfolge.
6. Da die gesuchten Spalten möglicherweise durch andere Spalten voneinander getrennt sind (zum Beispiel **ExtraQtyTag**), ihre Reihenfolge jedoch immer fest ist (zuerst **Bezeichnung**, dann **Stückpreis**, dann **Gesamtbetrag**), wählen Sie Regeln für Spaltenreihenfolge aus, klicken Sie auf Add..., und fügen Sie die Spalten in der folgenden Reihenfolge hinzu: **Bezeichnung** \<\< **Stückpreis** \<\< **Gesamtbetrag**.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_1_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=966aae17c9b42b5787008df2964196c7" alt="Screenshot der Registerkarte „Reihenfolge“ der Eigenschaften des Table-Elements InvoiceTable in ABBYY FlexiLayout Studio, in dem die Option „Regeln für Spaltenreihenfolge“ ausgewählt ist und die Spalten Bezeichnung, Stückpreis und Gesamtbetrag in der erforderlichen Reihenfolge hinzugefügt wurden." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_8_1_.PNG" />
</Frame>

7. Klicken Sie auf die Registerkarte Header. Der Tabellen-Header wird benötigt, es sind jedoch keine zusätzlichen Einschränkungen erforderlich, daher behalten Sie die Standardwerte bei.
8. Klicken Sie auf die Registerkarte Footer. Verwenden Sie das zuvor erkannte Element `InvoiceFooter.Paragraph` für den abschließenden Teil der Tabelle. Wählen Sie die Option gefundenes Element als Fußzeile verwenden aus, klicken Sie auf <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Schaltfläche „Durchsuchen“" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> und wählen Sie dann das Element `InvoiceFooter.Paragraph` aus.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_2_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=e7a855370a3d7b6766311f63e86cd3b8" alt="Screenshot der Registerkarte „Footer“ der Eigenschaften des Table-Elements InvoiceTable in ABBYY FlexiLayout Studio, in dem die Option „gefundenes Element als Fußzeile verwenden“ ausgewählt ist und das Element InvoiceFooter.Paragraph als Tabellenfußzeile gewählt wurde." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_8_2_.PNG" />
</Frame>

9. Klicken Sie auf die Registerkarte Rows.
10. Da die Zellen in einigen Spalten mehrere Zeilen enthalten können, müssen Sie Master columns für die Zeilentrennung angeben. Wählen Sie Use master columns to detect rows aus.

    Geben Sie zuerst die Spalte **Gesamtbetrag** an, da diese Spalte immer Daten enthält und für jeden Tabellen-Datensatz genau eine Datenzeile aufweist.

    Falls diese Spalte im Bild nicht erkannt wird, geben Sie die Spalten **Stückpreis** und **Menge** als nächste Option für die Zeilentrennung an. Verwenden Sie die Schaltfläche <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Schaltfläche „Durchsuchen“" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" />, um diese Spalten auszuwählen.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_3_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=d99574eef5ef1d5016f41d5be1001b5a" alt="Screenshot der Registerkarte „Rows“ der Eigenschaften des Table-Elements InvoiceTable in ABBYY FlexiLayout Studio, in dem die Option „Use master columns to detect rows“ ausgewählt ist und die Spalten Gesamtbetrag, Stückpreis und Menge als Master columns für die Zeilentrennung festgelegt wurden." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_8_3_.PNG" />
</Frame>

11. Wählen Sie die Registerkarte Relations aus. Da sich die Tabellenspalten, die uns interessieren, links vom Namen der Spalte **Sales** befinden, fügen Sie die folgenden Suchbedingungen hinzu:

    * Links vom Element `TableHeader.kwSales`, Offset = 0

    <Tip>
      Bei Bildern von schlechter Qualität (z. B. wenn sich Rauschen zwischen Tabellenkörper und Fußzeile der Tabelle befindet oder wenn keine Kopf- oder Fußzeile vorhanden ist) können Sie obere und untere Tabellenbegrenzungen festlegen. In diesem Fall können Sie das Element **kwDesignation** als obere Begrenzung und das Element **Paragraph** als untere Begrenzung verwenden. Fügen Sie auf der Registerkarte Relations die folgenden Suchbedingungen hinzu:

      * Unterhalb der oberen Begrenzung des Elements **kwDesignation**, Offset = -50, Referenzbegrenzung = Top
      * Oberhalb des Elements **Paragraph**, Offset = -50, Referenzbegrenzung = Bottom
    </Tip>

12. Gleichen Sie das FlexiLayout mit den Testbildern ab.
    Sie werden feststellen, dass das Programm das Table-Element auf allen Bildern korrekt erkennt, bei einigen Bildern jedoch die Spalte **Menge** überflüssigen Text aus der vorhergehenden Spalte enthält.
    Um die relevanten Daten in der Spalte **Menge** von irrelevanten Daten zu trennen, legen Sie den Inhaltstyp für diese Spalte fest.

13. Öffnen Sie das Dialogfeld **Properties** des Table-Elements **InvoiceTable**.
    Klicken Sie auf die Registerkarte Columns, öffnen Sie das Dialogfeld Properties... der Spalte **Menge**, und wählen Sie die Option Check content type aus. Wählen Sie unter Type of column content die Option Number aus.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_4_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=c646cd956bf3591f3505ebe3395c886e" alt="Screenshot der Eigenschaften der Spalte Menge in ABBYY FlexiLayout Studio. Darin ist die ausgewählte Option Check content type zu sehen, wobei Number als Typ des Spalteninhalts ausgewählt ist." width="462" height="377" data-path="images/flexi-capture/fls/tutorial4_8_4_.PNG" />
</Frame>

14. Wenn Sie das FlexiLayout jetzt mit den Bildern abgleichen, werden Sie sehen, dass die Spalte **Menge** nur Ziffern enthält, wie erforderlich.
15. Legen Sie auf ähnliche Weise für die Spalten **UnitPrice** und **Gesamtbetrag** den Inhaltstyp Currency fest.
16. Um die Position des Blocks **InvoiceTable** anzugeben, wählen Sie die Option Source element aus. Klicken Sie auf <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Schaltfläche „Durchsuchen“" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> und geben Sie **InvoiceTable** als Source element an.
