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

# Objet Block (interface IBlock)

> Objet Block (interface IBlock) dans l’API ABBYY FineReader Engine — Représente un seul bloc sur une page reconnue ; expose le type du bloc (texte, tableau, image matricielle/vectorielle, Barcode, coche/groupe de coches, Separator/groupe de Separators), la région, le calque et les méthodes permettant de le convertir en sous-types de bloc spécifiques.

Cet objet représente un bloc unique. Lors de la reconnaissance d’une page, ABBYY FineReader Engine analyse d’abord la mise en page et détecte sur la page des blocs de différents types. Les blocs déterminent la manière dont les zones de l’image sont reconnues et contiennent les informations reconnues après la reconnaissance.

Chaque bloc de la page relève de l’un des neuf types suivants : texte, tableau, image matricielle, image vectorielle, Barcode, coche, groupe de coches, Separator et groupe de Separators. Le type du bloc est défini par la propriété Type. L’objet Block expose des méthodes qui permettent de le transtyper en l’un de ses objets enfants et donnent ainsi accès aux attributs étendus d’un bloc d’un type spécifique.

La position du bloc sur une image est définie par sa région (propriété Region) et par le calque auquel le bloc appartient (propriété BlockLayerType).

<Warning>
  Le bloc obtenu à partir de la mise en page d’une [FRPage](/fr/fine-reader/engine/api-reference/document-related-objects/frpage) ne sera plus valide après l’appel à l’une des méthodes qui effectuent l’analyse de la mise en page (comme [Analyze](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument/analyze-method) ou [Process](/fr/fine-reader/engine/api-reference/document-related-objects/frdocument/process-method) ) pour cette page ou pour le document auquel elle appartient. Après l’analyse, recherchez le bloc souhaité dans la nouvelle mise en page et continuez à travailler avec le nouvel objet Block.
</Warning>

<div id="properties">
  ## Propriétés
</div>

<table>
  <thead>
    <tr>
      <th>
        <p>
          <strong>Nom</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Type</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Description</strong>
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <strong>Application</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/api-reference/engine-object-iengine-interface">
              Engine
            </a>
          </strong>

          ,{" "}

          <a href="/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">
            lecture seule
          </a>
        </p>
      </td>

      <td>
        <p>
          Retourne l'objet <strong>Engine</strong>.
        </p>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <p>
          <em>Attributs principaux</em>
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="region" />

          <strong>Region</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/region">
              Region
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>
          Donne accès à la{" "}

          <a href="/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/region#region">
            région
          </a>

          {" "}

          du bloc. Une région est une collection de rectangles. Contrairement aux autres types de blocs, un table block ne peut contenir qu'un seul rectangle dans sa région ; toute tentative d'assigner une région comportant plusieurs rectangles à un table block génèrera une erreur. La région est définie par les coordonnées de ses rectangles (en pixels) sur le plan{" "}

          <a href="/fr/fine-reader/engine/guided-tour/advanced-techniques/working-with-images#black-and-white">
            black-and-white
          </a>

          {" "}

          redressé de l'image correspondante.
        </p>

        <Note>
          La propriété retourne un objet constant. Pour modifier la région du bloc, vous devez d'abord obtenir un objet Region intermédiaire via la méthode{" "}

          <a href="/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods">
            IEngine::CreateRegion
          </a>

          {" "}

          , modifier les paramètres nécessaires, puis assigner l'objet obtenu à la propriété.
        </Note>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="type" />

          <strong>Type</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/api-reference/enumerations/blocktypeenum">
              BlockTypeEnum
            </a>
          </strong>

          , lecture seule
        </p>
      </td>

      <td>
        <p>
          ABBYY FineReader Engine utilise les types de blocs suivants : texte, tableau, image raster, image vectorielle, Barcode, coche, groupe de coches, Separator, groupe de Separators et autoanalyse. (Les blocs d'autoanalyse sont utilisés uniquement dans les composants visuels.) Chaque type de bloc dispose de ses propres propriétés spécifiques.
        </p>

        <p>
          Le type de bloc est défini à la création et ne peut pas être modifié. Si vous devez changer le type de bloc, vous devrez supprimer le bloc et en créer un nouveau du type requis exactement au même emplacement :
        </p>

        <ol>
          <li value="1">
            Créez un objet{" "}

            <strong>
              <a href="/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/region">
                Region
              </a>
            </strong>

            {" "}

            via la méthode{" "}

            <strong>
              <a href="/fr/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods">
                IEngine::CreateRegion
              </a>
            </strong>

            {" "}

            et copiez la région du bloc à remplacer à l'aide de la méthode{" "}

            <strong>
              <a href="/fr/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method">
                IRegion::CopyFrom
              </a>
            </strong>

            {" "}

            .
          </li>

          <li value="2">
            Supprimez l'ancien bloc du layout en appelant la méthode{" "}

            <strong>
              <a href="/fr/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/deleteat-method">
                ILayoutBlocks::DeleteAt
              </a>
            </strong>

            {" "}

            .
          </li>

          <li value="3">
            Créez un nouveau bloc du type requis et ajoutez-le à la collection de layout blocks à l'aide de la méthode{" "}

            <strong>
              <a href="/fr/fine-reader/engine/api-reference/layout-related-objects/layoutblocks/addnew-method">
                AddNew
              </a>
            </strong>

            {" "}

            de l'objet <strong>LayoutBlocks</strong>. Transmettez la{" "}
            <strong>Region</strong> copiée depuis l'ancien bloc en tant que paramètre requis.
          </li>
        </ol>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <p>
          <em>Attributs supplémentaires</em>
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="backgroundcolor" />

          <strong>BackgroundColor</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              int
            </a>
          </strong>

          , lecture seule
        </p>
      </td>

      <td>
        <p>Indique la couleur d'arrière-plan du bloc.</p>

        <Note>
          La valeur int est calculée à partir du triplet RVB selon la formule : (valeur rouge) + (256 × valeur verte) + (65536 × valeur bleue), où la valeur rouge est le premier composant du triplet, la valeur verte le deuxième et la valeur bleue le troisième. Par exemple, la valeur int de la couleur blanche est 16777215.
        </Note>

        <p>
          Par défaut, la valeur de cette propriété est -1, ce qui signifie que la couleur est transparente.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="blocklayertype" />

          <strong>BlockLayerType</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/api-reference/enumerations/blocklayertypeenum">
              BlockLayerTypeEnum
            </a>
          </strong>

          , lecture seule
        </p>
      </td>

      <td>
        <p>
          Indique le calque du bloc : arrière-plan, premier plan ou masqué. Les blocs peuvent se superposer ; par exemple, un bloc de texte peut se trouver au-dessus d'un bloc d'image en arrière-plan.
        </p>

        <Note>
          Pour{" "}

          <a href="/fr/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock">
            RasterPictureBlock
          </a>

          {" "}

          et{" "}

          <a href="/fr/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock">
            VectorPictureBlock
          </a>

          {" "}

          , vous pouvez modifier le calque à l'aide de la méthode{" "}

          <a href="/fr/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock/setblocklayertype-method">
            SetBlockLayerType
          </a>

          {" "}

          .
        </Note>

        <p>Par défaut, la valeur de cette propriété est BLT\_Foreground.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="description" />

          <strong>Description</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              BSTR
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>Contient la description du bloc.</p>
        <p>Par défaut, la valeur de cette propriété est une chaîne vide.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a name="name" />

          <strong>Name</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">
              BSTR
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>Contient le nom du bloc. Il peut s'agir d'une chaîne quelconque.</p>
        <p>Par défaut, la valeur de cette propriété est une chaîne vide.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <strong>
            <a href="/fr/fine-reader/engine/api-reference/language-related-objects/baselanguage/userproperty-property">
              UserProperty
            </a>
          </strong>
        </p>
      </td>

      <td>
        <p>
          <strong>VARIANT</strong>
        </p>
      </td>

      <td>
        <p>
          Permet d'associer des informations définies par l'utilisateur, de n'importe quel type, à un objet de type <strong>Block </strong>.
        </p>
      </td>
    </tr>
  </tbody>
</table>

<div id="methods">
  ## Méthodes
</div>

| Name                                                                                                                        | Description                                                                                                                                                                                                        |
| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [GetAsBarcodeBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getasbarcodeblock-method)             | Renvoie le bloc sous la forme d'un objet [BarcodeBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/barcodeblock). Si le bloc n'est pas un bloc Barcode, NULL est renvoyé.                         |
| [GetAsCheckmarkBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getascheckmarkblock-method)         | Renvoie le bloc sous la forme d'un objet [CheckmarkBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock). Si le bloc n'est pas un bloc de coche, NULL est renvoyé.                    |
| [GetAsCheckmarkGroup](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getascheckmarkgroup-method)         | Renvoie le bloc sous la forme d'un objet [CheckmarkGroup](/fr/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup). Si le bloc n'est pas un bloc de groupe de coches, NULL est renvoyé.         |
| [GetAsRasterPictureBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getasrasterpictureblock-method) | Renvoie le bloc sous la forme d'un objet [RasterPictureBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock). Si le bloc n'est pas un bloc d'image matricielle, NULL est renvoyé. |
| [GetAsSeparatorBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getasseparatorblock-method)         | Renvoie le bloc sous la forme d'un objet [SeparatorBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/separatorblock). Si le bloc n'est pas un bloc Separator, NULL est renvoyé.                   |
| [GetAsSeparatorGroup](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getasseparatorgroup-method)         | Renvoie le bloc sous la forme d'un objet [SeparatorGroup](/fr/fine-reader/engine/api-reference/layout-related-objects/separatorgroup). Si le bloc n'est pas un bloc de groupe Separator, NULL est renvoyé.         |
| [GetAsTableBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getastableblock-method)                 | Renvoie le bloc sous la forme d'un objet [TableBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/tableblock). Si le bloc n'est pas un bloc de tableau, NULL est renvoyé.                          |
| [GetAsTextBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getastextblock-method)                   | Renvoie le bloc sous la forme d'un objet [TextBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/textblock). Si le bloc n'est pas un bloc de texte, NULL est renvoyé.                              |
| [GetAsVectorPictureBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/block/getasvectorpictureblock-method) | Renvoie le bloc sous la forme d'un objet [VectorPictureBlock](/fr/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock). Si le bloc n'est pas un bloc d'image vectorielle, NULL est renvoyé. |
| [Move](/fr/fine-reader/engine/api-reference/layout-related-objects/block/move-method)                                       | Décale la région du bloc selon un vecteur donné.                                                                                                                                                                   |

<div id="related-objects">
  ## Objets associés
</div>

<div id="windows">
  ### Windows
</div>

<img src="https://mintcdn.com/abbyy/6udH-pkk8zkVafYH/images/fine-reader/engine/block.gif?s=3581d9bc2321cc7885447b625469f683" alt="Block" width="369" height="322" data-path="images/fine-reader/engine/block.gif" />[](/fr/fine-reader/engine/api-reference/layout-related-objects/tablecell#block)[](/fr/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/fr/fine-reader/engine/api-reference/layout-related-objects/autoanalysisblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock)[](/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/region)[](/fr/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/separatorgroup)[](/fr/fine-reader/engine/api-reference/layout-related-objects/separatorblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)[](/fr/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/tablecell)[](/fr/fine-reader/engine/api-reference/layout-related-objects/layout)[](/fr/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)

<div id="linux-and-macos">
  ### Linux et macOS
</div>

<img src="https://mintcdn.com/abbyy/6udH-pkk8zkVafYH/images/fine-reader/engine/blocklinuxmac.gif?s=413e3a9762d2d4bc7966f82713401e6e" alt="BlockLinuxMac" width="369" height="306" data-path="images/fine-reader/engine/blocklinuxmac.gif" />[](/fr/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)[](/fr/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/tablecell#block)[](/fr/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/region)[](/fr/fine-reader/engine/api-reference/layout-related-objects/tablecell)[](/fr/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/separatorgroup)[](/fr/fine-reader/engine/api-reference/layout-related-objects/separatorblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/fr/fine-reader/engine/api-reference/layout-related-objects/block)[](/fr/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/fr/fine-reader/engine/api-reference/layout-related-objects/layout)

[Diagramme d’objets](/fr/fine-reader/engine/api-reference/object-diagram)

<div id="output-parameter">
  ## Paramètre de sortie
</div>

Cet objet est le paramètre de sortie des méthodes [Item](/fr/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/item-method) et [AddNew](/fr/fine-reader/engine/api-reference/layout-related-objects/layoutblocks/addnew-method) de l'objet [LayoutBlocks](/fr/fine-reader/engine/api-reference/layout-related-objects/layoutblocks).

<div id="samples">
  ## Exemples
</div>

<Accordion title="C# code">
  ```csharp theme={null}
  int picturesCount = 0;
  int suspiciousCharsCount = 0;
  int totalCharsCount = 0;
  int barcodesCount = 0;
  // Calcule le nombre de caractères, de caractères suspects, d’images et de codes-barres dans un texte
  void computeStatisticsForBlock(FREngine.IBlock block)
  {
   if (block.Type == FREngine.BlockTypeEnum.BT_Table)
   {
    FREngine.ITableBlock tableBlock = block.GetAsTableBlock();
    for (int iCell = 0; iCell < tableBlock.Cells.Count; iCell++)
    {
     computeStatisticsForBlock(tableBlock.Cells[iCell].Block);
    }
   }
   else if (block.Type == FREngine.BlockTypeEnum.BT_Text)
   {
    FREngine.ITextBlock textBlock = block.GetAsTextBlock();
    int paragraphsCount = textBlock.Text.Paragraphs.Count;
    for (int iPar = 0; iPar < paragraphsCount; iPar++)
    {
     FREngine.IParagraph par = textBlock.Text.Paragraphs[iPar];
     string text = par.Text;
     totalCharsCount += text.Length;
     FREngine.ICharParams charParams = engine.CreateCharParams();
     for (int iChar = 0; iChar < text.Length; iChar++)
     {
      par.GetCharParams(iChar, charParams);
      if (charParams.IsSuspicious)
      {
       suspiciousCharsCount++;
      }
     }
    }
   }
   else if (block.Type == FREngine.BlockTypeEnum.BT_RasterPicture || block.Type == FREngine.BlockTypeEnum.BT_VectorPicture)
   {
    picturesCount++;
   }
   else if (block.Type == FREngine.BlockTypeEnum.BT_Barcode)
   {
    barcodesCount++;
   }
  }
  ```
</Accordion>

L’objet est utilisé dans les exemples de code suivants :

* Linux : [CustomLanguage](/fr/fine-reader/engine/guided-tour/samples#customlanguage), [CommandLineInterface](/fr/fine-reader/engine/guided-tour/samples#commandlineinterface)

* Windows : [CustomLanguage](/fr/fine-reader/engine/guided-tour/samples#customlanguage), [CommandLineInterface](/fr/fine-reader/engine/guided-tour/samples#commandlineinterface), [RecognizedTextProcessing](/fr/fine-reader/engine/guided-tour/samples#recognizedtextprocessing) ; ainsi que dans l’outil de démonstration : [Engine Predefined Processing Profiles](/fr/fine-reader/engine/guided-tour/samples#engine_predefined_processing_profiles).

<div id="see-also">
  ## Voir aussi
</div>

[LayoutBlocks](/fr/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)

[Utilisation de Layout et des Blocks](/fr/fine-reader/engine/guided-tour/advanced-techniques/working-with-layout-and-blocks)

[Utilisation des propriétés](/fr/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
