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

# Exemple 3. Étape 26 : Détecter l’élément Table à l’aide d’un élément InvoiceTable

> Assembler l’élément Table InvoiceTable : configurez les colonnes, les règles d’ordre, l’en-tête, le pied de tableau et les colonnes principales pour détecter de manière fiable le tableau de facture.

Maintenant que toutes les préparations sont terminées, vous pouvez rechercher le champ de tableau de facture. Un élément [Table](/fr/flexi-capture/fls/tables/general-tables) le détecte, en utilisant la stratégie décidée à l’[Étape 13](/fr/flexi-capture/fls/tutorial3/3step13) :

* **En-tête** – Les noms des colonnes **Reference** et **désignation** utilisent des mots-clés ; les noms des colonnes **Quantité**, **Prix unitaire** et **Total** utilisent les éléments auxiliaires que vous avez décrits.
* **Pied de tableau** – L’élément de mot-clé décrit précédemment le détecte.
* **Zone de recherche** – Le nom de colonne **Sales** restreint la zone de recherche sur la droite.

<div id="create-the-invoicetable-element">
  ## Créez l’élément InvoiceTable
</div>

<Steps>
  <Step title="Créer l’élément Table">
    Créez un élément de type [Table](/fr/flexi-capture/fls/tables/general-tables) et nommez-le **InvoiceTable**.
  </Step>

  <Step title="Sélectionnez le bloc de tableau">
    Cliquez sur l’onglet **Columns**, cliquez sur **Select**, puis indiquez que cet élément doit détecter le bloc **InvoiceTable** décrit précédemment. Pour plus d’informations, consultez l’[Étape 3](/fr/flexi-capture/fls/tutorial3/3step3).
  </Step>

  <Step title="Configurez les colonnes Référence et Désignation">
    Sélectionnez la colonne **Reference** et cliquez sur **Propriétés...**. Le mot-clé **Reference** permet d’identifier cette colonne ; conservez donc les valeurs par défaut. Procédez de même pour la colonne **Désignation**.
  </Step>

  <Step title="Configurer la colonne Quantité">
    Sélectionnez la colonne **Quantity** et cliquez sur **Propriétés**. Pour définir ce nom de colonne, utilisez l’élément `TableHeader.kwQuantity` précédemment détecté : sélectionnez **Utiliser l’élément trouvé comme nom de colonne**, cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Bouton Parcourir" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" />, puis sélectionnez l’élément `TableHeader.kwQuantity`.

    <Frame>
      <img src="https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_1.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=bbf25b0bc0343d5c5c77393f46a0f892" alt="Capture d’écran de la boîte de dialogue Propriétés de la colonne Quantity dans ABBYY FlexiLayout Studio, avec l’option Utiliser l’élément trouvé comme nom de colonne sélectionnée et définie sur SearchElements.TableHeader.kwQuantity." width="462" height="377" data-path="images/flexi-capture/fls/tutorial3_26_1.png" />
    </Frame>
  </Step>

  <Step title="Configurer la colonne prix unitaire">
    Sélectionnez la colonne **prix unitaire** et cliquez sur **Propriétés**. Utilisez l’élément `TableHeader.kwUnitPrice` précédemment détecté : sélectionnez **Utiliser l’élément trouvé comme nom de colonne**, cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Bouton Parcourir" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" />, puis sélectionnez l’élément `TableHeader.kwUnitPrice`.

    <Frame>
      <img src="https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_2.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=b659e5d615579177f79b061be15ed775" alt="Capture d’écran de la boîte de dialogue Propriétés de la colonne UnitPrice dans ABBYY FlexiLayout Studio, avec l’option Utiliser l’élément trouvé comme nom de colonne sélectionnée et définie sur SearchElements.TableHeader.kwUnitPrice." width="462" height="377" data-path="images/flexi-capture/fls/tutorial3_26_2.png" />
    </Frame>
  </Step>

  <Step title="Configurez la colonne Total">
    Sélectionnez la colonne **Total**, puis cliquez sur **Propriétés**. Utilisez l’élément `TableHeader.kwTotal` précédemment détecté : sélectionnez **Utiliser l’élément trouvé comme nom de colonne**, cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Bouton Parcourir" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" />, puis sélectionnez l’élément `TableHeader.kwTotal`.
  </Step>

  <Step title="Ajouter une règle d’ordre des colonnes">
    Cliquez sur l’onglet **Ordre**. D’autres colonnes (par exemple, **Unité**) peuvent apparaître entre les colonnes recherchées, mais celles-ci apparaissent toujours dans l’ordre suivant : **Reference**, **Désignation**, **Quantité**, **Prix unitaire**, **Total**. Sélectionnez **Règles pour l’ordre des colonnes**, cliquez sur **Ajouter...**, puis définissez l’ordre suivant : `Reference << Designation << Quantity << Unit Price << Total`.

    <Frame>
      <img src="https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/tutorial3_26_3.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=b471ef36cc0fb3b34730fd749baf7c1b" alt="Capture d’écran de l’onglet Ordre de la boîte de dialogue Propriétés de SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, avec l’option Règles pour l’ordre des colonnes sélectionnée et une règle indiquant, dans l’ordre, Reference, Désignation, Quantité, Prix unitaire et Total." width="601" height="507" data-path="images/flexi-capture/fls/tutorial3_26_3.png" />
    </Frame>
  </Step>

  <Step title="Organisez les colonnes dans la règle">
    Dans la boîte de dialogue **Edit Column Order Rule**, placez les colonnes dans la liste **Colonnes sélectionnées** dans l’ordre suivant : **Reference**, **désignation**, **Quantity**, **prix unitaire**, **Total**.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_4.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=dc2e164e6c1d5179ae56fb3614cf780b" alt="Capture d’écran de deux boîtes de dialogue Edit Column Order Rule dans ABBYY FlexiLayout Studio, montrant le déplacement des colonnes disponibles vers la liste Colonnes sélectionnées dans l’ordre Reference, désignation, Quantity, prix unitaire, Total." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_26_4.png" />
    </Frame>
  </Step>

  <Step title="Configurer l’en-tête">
    Cliquez sur l’onglet **Header**. L’en-tête est nécessaire, mais ne requiert aucune contrainte de recherche. Conservez donc les valeurs par défaut.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_5.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=bb84010302437fe5fe0423ab877b9fcb" alt="Capture d’écran de l’onglet Header de la boîte de dialogue Properties of SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, montrant les options Look for header et Header is optional sélectionnées avec les options de recherche par défaut." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_26_5.png" />
    </Frame>
  </Step>

  <Step title="Configurer le pied de page">
    Cliquez sur l’onglet **Footer**. Pour détecter le pied de tableau, utilisez l’élément `Footer.kwFooter` précédemment détecté : sélectionnez **Use found element as footer**, cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Bouton Parcourir" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" />, puis sélectionnez l’élément `Footer.kwFooter`.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_6.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=70b7018b068999171888a3ff75203a36" alt="Capture d’écran de l’onglet Footer de la boîte de dialogue Properties of SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, avec l’option Use found element as footer sélectionnée et définie sur SearchElements.Footer.kwFooter." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_26_6.png" />
    </Frame>
  </Step>

  <Step title="Définir les colonnes principales">
    Cliquez sur l’onglet **Rows**. Certaines colonnes peuvent contenir des entrées sur plusieurs lignes. Spécifiez donc des colonnes principales pour détecter les lignes. Sélectionnez **Use master columns to detect rows**, cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Bouton Parcourir" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" />, puis définissez les colonnes principales dans l’ordre de priorité suivant :

    * **Total** – La colonne principale, car elle contient toujours des données et chaque ligne du tableau correspond à une entrée.
    * **Quantity** – La colonne secondaire, utilisée si FlexiLayout Studio ne détecte pas **Total**.
    * **Unit Price** – La colonne tertiaire, utilisée s’il ne détecte ni **Total** ni **Quantity**.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_7.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=444df4f217866eba9a7be6842251d490" alt="Capture d’écran de l’onglet Rows de la boîte de dialogue Properties of SearchElements.InvoiceTable dans ABBYY FlexiLayout Studio, avec Use master columns to detect rows sélectionné et Total, Quantity et UnitPrice répertoriés comme colonnes principales." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_26_7.png" />
    </Frame>
  </Step>

  <Step title="Limiter la position du tableau">
    Cliquez sur l’onglet **Relations**. Les colonnes recherchées se situent à gauche du nom de colonne **Sales**, séparées par un petit espace. Définissez donc la contrainte suivante :

    * **À gauche de** l’élément `TableHeader.kwSales`, **Offset** = -40, **Limite de référence** = **Left**

    <Tip>
      Lors du choix des valeurs de décalage, analysez les propriétés géométriques (taille et limites) des objets de référence et des objets recherchés détectés lors de la préreconnaissance. Sinon, déterminez ces valeurs par tâtonnement.
    </Tip>
  </Step>

  <Step title="Associer et vérifier la colonne Quantité">
    Associez le FlexiLayout aux images de test. FlexiLayout Studio détecte l’élément de tableau dans chaque image où il apparaît. Sur certaines images, la colonne **Quantité** contient également des artefacts indésirables provenant de la colonne précédente. Pour distinguer les données utiles du bruit, indiquez le type de contenu que la colonne peut contenir.
  </Step>

  <Step title="Définir le type de contenu « Quantity »">
    Ouvrez la boîte de dialogue **Propriétés** de l’élément **InvoiceTable**, puis cliquez sur l’onglet **Colonnes**. Ouvrez la boîte de dialogue **Propriétés** de la colonne **Quantité**, cochez **Vérifier le type de contenu**, puis sélectionnez **Nombre** dans la liste déroulante **Type de contenu de la colonne**.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_26_8.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=f9b88f0e33915159a4be7cddf32467c2" alt="Capture d’écran de la boîte de dialogue Propriétés de la colonne Quantité dans ABBYY FlexiLayout Studio, avec l’option Vérifier le type de contenu cochée et Nombre sélectionné dans la liste déroulante Type de contenu de la colonne." width="462" height="377" data-path="images/flexi-capture/fls/tutorial3_26_8.png" />
    </Frame>
  </Step>

  <Step title="Vérifier la colonne">
    Exécutez le FlexiLayout sur les images de test et vérifiez que la colonne **Quantity** ne contient aucune donnée indésirable.
  </Step>

  <Step title="Définir l’élément source du bloc">
    Pour définir l’emplacement du bloc **InvoiceTable**, sélectionnez **Élément source**, cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Bouton Parcourir" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> et spécifiez l’élément **InvoiceTable** comme élément source.
  </Step>
</Steps>
