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

# Block-Objekt (IBlock-Schnittstelle)

> Block-Objekt (IBlock-Schnittstelle) in der ABBYY FineReader Engine API — stellt einen einzelnen Block auf einer erkannten Seite dar; bietet Zugriff auf den Typ des Blocks (Text, Tabelle, Raster-/Vektorbild, Barcode, Häkchen/Gruppe, Trennlinie/Gruppe), die Region, die Ebene sowie Methoden zur Umwandlung in bestimmte Blockuntertypen.

Dieses Objekt stellt einen einzelnen Block dar. Bei der Erkennung einer Seite analysiert ABBYY FineReader Engine zunächst deren Layout und erkennt Blöcke verschiedener Typen auf der Seite. Blöcke legen fest, wie die Bildbereiche erkannt werden, und enthalten nach der Erkennung die erkannten Informationen.

Jeder Block auf der Seite gehört zu einem von neun Typen: Text, Tabelle, Rasterbild, Vektorbild, Barcode, Häkchen, Häkchengruppe, Trennlinie und Trennliniengruppe. Der Typ des Blocks wird durch die Eigenschaft Type definiert. Das Block-Objekt stellt Methoden bereit, die es in eines seiner untergeordneten Objekte umwandeln und dadurch Zugriff auf die erweiterten Attribute eines Blocks eines bestimmten Typs ermöglichen.

Die Position des Blocks auf einem Bild wird durch seine Region (die Eigenschaft Region) und die Ebene, zu der der Block gehört (die Eigenschaft BlockLayerType), definiert.

<Warning>
  Der Block, den Sie aus dem Layout einer [FRPage](/de/fine-reader/engine/api-reference/document-related-objects/frpage) erhalten, wird nach dem Aufruf einer Methode, die eine Layout-Analyse durchführt (z. B. [Analyze](/de/fine-reader/engine/api-reference/document-related-objects/frdocument/analyze-method) oder [Process](/de/fine-reader/engine/api-reference/document-related-objects/frdocument/process-method) ), für diese Seite oder das Dokument, zu dem sie gehört, ungültig. Suchen Sie den benötigten Block nach der Analyse im neuen Layout und arbeiten Sie mit dem neuen Block-Objekt weiter.
</Warning>

<div id="properties">
  ## Eigenschaften
</div>

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

      <th>
        <p>
          <strong>Typ</strong>
        </p>
      </th>

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

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

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

          ,{" "}

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

      <td>
        <p>
          Gibt das <strong>Engine</strong>-Objekt zurück.
        </p>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <p>
          <em>Hauptattribute</em>
        </p>
      </td>
    </tr>

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

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

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

      <td>
        <p>
          Ermöglicht den Zugriff auf die{" "}

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

          des Blocks. Eine Region ist eine Sammlung von Rechtecken. Im
          Gegensatz zu anderen Blocktypen darf ein Tabellenblock in seiner
          Region höchstens ein Rechteck haben. Daher führt der Versuch, einem
          Tabellenblock eine Region mit mehr als einem Rechteck zuzuweisen, zu
          einem Fehler. Die Region wird durch die Koordinaten ihrer Rechtecke
          (in Pixeln) auf der an der Schieflage korrigierten{" "}

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

          {" "}

          Ebene des entsprechenden Bildes definiert.
        </p>

        <Note>
          Die Eigenschaft gibt ein konstantes Objekt zurück. Um die
          Blockregion zu ändern, müssen Sie zunächst mithilfe der Methode{" "}

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

          {" "}

          ein temporäres Region-Objekt erstellen, die erforderlichen Parameter
          ändern und das erzeugte Objekt dann der Eigenschaft zuweisen.
        </Note>
      </td>
    </tr>

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

          <strong>Typ</strong>
        </p>
      </td>

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

          , nur lesbar
        </p>
      </td>

      <td>
        <p>
          ABBYY FineReader Engine verwendet die folgenden Blocktypen: Text,
          Tabelle, Rasterbild, Vektorbild, Barcode, Häkchen,
          Häkchengruppe, Trennlinie, Trennliniengruppe und Autoanalyse.
          (Autoanalyseblöcke werden nur in Visual Components verwendet.) Jeder
          Blocktyp verfügt über eigene spezifische Eigenschaften.
        </p>

        <p>
          Der Blocktyp wird bei der Erstellung festgelegt und kann nicht
          geändert werden. Wenn Sie den Blocktyp ändern müssen, müssen Sie den
          Block löschen und an genau derselben Stelle einen anderen Block des
          erforderlichen Typs erstellen:
        </p>

        <ol>
          <li value="1">
            Erstellen Sie mit der Methode{" "}

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

            {" "}

            ein{" "}

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

            -Objekt und kopieren Sie mithilfe der Methode{" "}

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

            {" "}

            die Region des Blocks, den Sie ersetzen möchten.
          </li>

          <li value="2">
            Löschen Sie den alten Block aus dem Layout, indem Sie die Methode{" "}

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

            {" "}

            aufrufen.
          </li>

          <li value="3">
            Erstellen Sie einen neuen Block des erforderlichen Typs und fügen
            Sie ihn mithilfe der Methode{" "}

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

            {" "}

            des Objekts <strong>LayoutBlocks</strong> zur Sammlung der
            Layoutblöcke hinzu. Übergeben Sie die <strong>Region</strong>, die
            Sie aus dem alten Block kopiert haben, als einen der erforderlichen
            Parameter.
          </li>
        </ol>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <p>
          <em>Zusätzliche Attribute</em>
        </p>
      </td>
    </tr>

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

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

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

          , nur lesbar
        </p>
      </td>

      <td>
        <p>Gibt die Hintergrundfarbe des Blocks an.</p>

        <Note>
          Der int-Wert wird aus dem RGB-Tripel nach folgender Formel berechnet:
          ( Rotwert ) + (256 x Grünwert ) + (65536 x Blauwert ), wobei der
          Rotwert die erste Komponente des Tripels ist, der Grünwert die zweite
          Komponente und der Blauwert die dritte Komponente. Beispielsweise
          beträgt der int-Wert der Farbe Weiß 16777215.
        </Note>

        <p>
          Standardmäßig ist der Wert dieser Eigenschaft -1, was bedeutet, dass
          die Farbe transparent ist.
        </p>
      </td>
    </tr>

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

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

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

          , nur lesbar
        </p>
      </td>

      <td>
        <p>
          Gibt die Ebene des Blocks an: Hintergrund, Vordergrund oder
          ausgeblendet. Blöcke können überlagert sein; so kann beispielsweise
          ein Textblock über einem Hintergrundbildblock liegen.
        </p>

        <Note>
          Bei{" "}

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

          {" "}

          und{" "}

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

          {" "}

          können Sie die Ebene mithilfe der Methode{" "}

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

          {" "}

          ändern.
        </Note>

        <p>Standardmäßig ist der Wert dieser Eigenschaft BLT\_Foreground.</p>
      </td>
    </tr>

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

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

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

      <td>
        <p>Speichert die Beschreibung des Blocks.</p>
        <p>Standardmäßig ist der Wert dieser Eigenschaft eine leere Zeichenkette.</p>
      </td>
    </tr>

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

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

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

      <td>
        <p>Speichert den Namen des Blocks. Dies kann eine beliebige Zeichenkette sein.</p>
        <p>Standardmäßig ist der Wert dieser Eigenschaft eine leere Zeichenkette.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <strong>
            <a href="/de/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>
          Ermöglicht die Verknüpfung benutzerdefinierter Informationen beliebigen Typs mit
          einem Objekt des Typs <strong>Block</strong>.
        </p>
      </td>
    </tr>
  </tbody>
</table>

<div id="methods">
  ## Methoden
</div>

| Name                                                                                                                        | Beschreibung                                                                                                                                                                                         |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetAsBarcodeBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getasbarcodeblock-method)             | Gibt den Block als Objekt [BarcodeBlock](/de/fine-reader/engine/api-reference/layout-related-objects/barcodeblock) zurück. Ist der Block kein Barcode-Block, wird NULL zurückgegeben.                |
| [GetAsCheckmarkBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getascheckmarkblock-method)         | Gibt den Block als Objekt [CheckmarkBlock](/de/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock) zurück. Ist der Block kein Häkchenblock, wird NULL zurückgegeben.             |
| [GetAsCheckmarkGroup](/de/fine-reader/engine/api-reference/layout-related-objects/block/getascheckmarkgroup-method)         | Gibt den Block als Objekt [CheckmarkGroup](/de/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup) zurück. Ist der Block kein CheckmarkGroup-Block, wird NULL zurückgegeben.     |
| [GetAsRasterPictureBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getasrasterpictureblock-method) | Gibt den Block als Objekt [RasterPictureBlock](/de/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock) zurück. Ist der Block kein Rasterbildblock, wird NULL zurückgegeben.  |
| [GetAsSeparatorBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getasseparatorblock-method)         | Gibt den Block als Objekt [SeparatorBlock](/de/fine-reader/engine/api-reference/layout-related-objects/separatorblock) zurück. Ist der Block kein Trennlinienblock, wird NULL zurückgegeben.         |
| [GetAsSeparatorGroup](/de/fine-reader/engine/api-reference/layout-related-objects/block/getasseparatorgroup-method)         | Gibt den Block als Objekt [SeparatorGroup](/de/fine-reader/engine/api-reference/layout-related-objects/separatorgroup) zurück. Ist der Block kein Trennliniengruppen-Block, wird NULL zurückgegeben. |
| [GetAsTableBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getastableblock-method)                 | Gibt den Block als Objekt [TableBlock](/de/fine-reader/engine/api-reference/layout-related-objects/tableblock) zurück. Ist der Block kein Tabellenblock, wird NULL zurückgegeben.                    |
| [GetAsTextBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getastextblock-method)                   | Gibt den Block als Objekt [TextBlock](/de/fine-reader/engine/api-reference/layout-related-objects/textblock) zurück. Ist der Block kein Textblock, wird NULL zurückgegeben.                          |
| [GetAsVectorPictureBlock](/de/fine-reader/engine/api-reference/layout-related-objects/block/getasvectorpictureblock-method) | Gibt den Block als Objekt [VectorPictureBlock](/de/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock) zurück. Ist der Block kein Vektorbildblock, wird NULL zurückgegeben.  |
| [Move](/de/fine-reader/engine/api-reference/layout-related-objects/block/move-method)                                       | Verschiebt die Region des Blocks um einen Vektor.                                                                                                                                                    |

<div id="related-objects">
  ## Verwandte Objekte
</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" />[](/de/fine-reader/engine/api-reference/layout-related-objects/tablecell#block)[](/de/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/de/fine-reader/engine/api-reference/layout-related-objects/autoanalysisblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock)[](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/region)[](/de/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/separatorgroup)[](/de/fine-reader/engine/api-reference/layout-related-objects/separatorblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)[](/de/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/tablecell)[](/de/fine-reader/engine/api-reference/layout-related-objects/layout)[](/de/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)

<div id="linux-and-macos">
  ### Linux und 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" />[](/de/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)[](/de/fine-reader/engine/api-reference/layout-related-objects/checkmarkblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/tablecell#block)[](/de/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/de/fine-reader/engine/api-reference/supplementary-objects-and-methods/region)[](/de/fine-reader/engine/api-reference/layout-related-objects/tablecell)[](/de/fine-reader/engine/api-reference/layout-related-objects/vectorpictureblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/textblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/tableblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/separatorgroup)[](/de/fine-reader/engine/api-reference/layout-related-objects/separatorblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/rasterpictureblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/barcodeblock)[](/de/fine-reader/engine/api-reference/layout-related-objects/block)[](/de/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/de/fine-reader/engine/api-reference/layout-related-objects/layout)

[Objektdiagramm](/de/fine-reader/engine/api-reference/object-diagram)

<div id="output-parameter">
  ## Ausgabeparameter
</div>

Dieses Objekt ist der Ausgabeparameter der Methoden [Item](/de/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/item-method) und [AddNew](/de/fine-reader/engine/api-reference/layout-related-objects/layoutblocks/addnew-method) des Objekts [LayoutBlocks](/de/fine-reader/engine/api-reference/layout-related-objects/layoutblocks).

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

<Accordion title="C#-Code">
  ```csharp theme={null}
  int picturesCount = 0;
  int suspiciousCharsCount = 0;
  int totalCharsCount = 0;
  int barcodesCount = 0;
  // Berechnet die Anzahl der Zeichen, fraglichen Zeichen, Bilder und Barcodes in einem Text
  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>

Das Objekt wird in den folgenden Codebeispielen verwendet:

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

* Windows: [CustomLanguage](/de/fine-reader/engine/guided-tour/samples#customlanguage), [CommandLineInterface](/de/fine-reader/engine/guided-tour/samples#commandlineinterface), [RecognizedTextProcessing](/de/fine-reader/engine/guided-tour/samples#recognizedtextprocessing); sowie im Demo-Tool: [Engine Predefined Processing Profiles](/de/fine-reader/engine/guided-tour/samples#engine_predefined_processing_profiles).

<div id="see-also">
  ## Siehe auch
</div>

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

[Arbeiten mit Layout und Blöcken](/de/fine-reader/engine/guided-tour/advanced-techniques/working-with-layout-and-blocks)

[Arbeiten mit Eigenschaften](/de/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
