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

# Bloc Table

> Les blocs Table transmettent à ABBYY FlexiCapture les coordonnées des tableaux détectés et les rectangles des cellules : créez le bloc, répertoriez les colonnes et choisissez une région avec OutputTable.

Un bloc **Table** sert à transmettre à FlexiCapture les coordonnées des tableaux détectés. Les données des tableaux détectés seront extraites dans FlexiCapture. Un bloc **Table** se distingue des autres types de bloc en ce qu'il renvoie non seulement une région englobant l'ensemble du bloc, mais aussi des rectangles tracés autour de chaque cellule du tableau. Par rapport aux autres types de bloc, un bloc **Table** possède une propriété supplémentaire : une liste des colonnes que le tableau peut contenir. Un FlexiLayout peut contenir un ou plusieurs éléments **Table** qui indiquent au programme où et comment rechercher les colonnes spécifiées dans le bloc.

* Lorsque vous créez un élément **Table**, vous devez le « lier » à un bloc **Table** déjà créé. Il faut donc généralement créer le bloc en premier. Vous pouvez d'abord spécifier sa zone de recherche approximative, puis créer un ou plusieurs éléments pour rechercher le bloc, et enfin utiliser ces éléments **Table** pour affiner la zone de recherche du bloc.
* Vous pouvez créer plusieurs éléments, chacun décrivant son propre algorithme pour trouver un seul et même bloc **Table**. Vous pouvez demander au programme de sélectionner l'élément **Table** qui correspond le mieux au bloc **Table** une fois celui-ci trouvé. Cela se fait au moyen d'une Region expression.

Les blocs **Table** sont signalés par <img src="https://mintcdn.com/abbyy/lqYknuOmCa79141v/images/flexi-capture/fls/Table_Block.gif?fit=max&auto=format&n=lqYknuOmCa79141v&q=85&s=b587cb447531d0883066fce4033ae88e" alt="Icône du bloc Table" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="15" height="15" data-path="images/flexi-capture/fls/Table_Block.gif" /> dans l'arborescence FlexiLayout.

<div id="create-a-table-block">
  ## Créer un bloc Table
</div>

<Steps>
  <Step title="Accéder à la fenêtre FlexiLayout" />

  <Step title="Sélectionner la branche Blocks">
    Sélectionnez la branche **Blocks** dans l’arborescence **FlexiLayout**.
  </Step>

  <Step title="Ajouter un bloc Table">
    Dans le menu **FlexiLayout**, sélectionnez **Add Block → Table** ; ou sélectionnez **New → Table** dans le menu contextuel.
  </Step>

  <Step title="Définir les propriétés du bloc dans l’onglet du bloc Table">
    Spécifiez :

    * Le nom du bloc.
    * Un commentaire facultatif.
    * Si la région du bloc et la division du tableau en lignes et en colonnes coïncident avec la région renvoyée par un élément **Table**, sélectionnez l’option **Source element** et cliquez sur <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Search.gif?s=36d8764847225cffab245081f5274192" alt="Bouton Rechercher" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="31" height="18" data-path="images/flexi-capture/fls/Button_Search.gif" />. Dans la boîte de dialogue **Select Element**, sélectionnez l’élément **Table** dont la région coïncide avec celle du bloc, puis cliquez sur **OK**.
    * Si la région du bloc ne coïncide avec la région d’aucun élément **Table**, sélectionnez l’option **Region expression** et saisissez le code requis dans le champ **Region expression**. Cliquez sur **Check** pour vérifier le code.
  </Step>

  <Step title="Spécifier les colonnes dans l’onglet Columns">
    Spécifiez les colonnes susceptibles d’apparaître dans le bloc :

    1. Cliquez sur **Add...** et saisissez le nom d’une colonne. Il est recommandé d’utiliser les noms de colonnes tels qu’ils apparaissent sur les images de test.
    2. Dans la liste déroulante **Type**, sélectionnez le type de la colonne : **Text**, **Barcode**, **Checkmark**, **Picture** ou **Non-Recognized Block**.
    3. Pour modifier le nom ou le type d’une colonne, cliquez sur **Edit...** et, dans la boîte de dialogue **Edit Table Column**, saisissez un nouveau nom ou sélectionnez un autre type.
    4. Utilisez les boutons <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Down_Table.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=0b97cc8954437f7ce4a776808f92f271" alt="Bouton Bas" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="27" height="18" data-path="images/flexi-capture/fls/Button_Down_Table.gif" /> et <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Up_Table.gif?s=1223f3bf294a1e1de73888cbc5479e4d" alt="Bouton Haut" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="27" height="18" data-path="images/flexi-capture/fls/Button_Up_Table.gif" /> pour disposer les colonnes dans l’ordre dans lequel elles doivent apparaître dans l’application de capture de données.
  </Step>
</Steps>

<div id="example-specify-which-block-region-to-select">
  ## Exemple : spécifier la région de bloc à sélectionner
</div>

Pour spécifier la région d’un bloc, utilisez la variable prédéfinie `OutputTable` de type `TableHypothesis`.

Le code de l’exemple suivant sélectionne l’élément **Table** dans lequel le plus grand nombre de lignes a été détecté :

```text theme={null}
let T1 = SearchElements.TableElement1;
let T2 = SearchElements.TableElement2;
if T1.RowsCount > T2.RowsCount then OutputTable = T1; else OutputTable = T2;
```

<Note>
  Les éléments Table `SearchElements.TableElement1` et `SearchElements.TableElement2` de l’exemple doivent renvoyer au même bloc **Table**, dont le champ Region expression contient le code ci-dessus.
</Note>
