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

# Funciones que limitan el área de búsqueda

> Limite las áreas de búsqueda de elementos en las relaciones avanzadas de prebúsqueda de FlexiLayout con las funciones LeftOf, RightOf, Above, Below, Exclude y RestrictSearchArea.

Las funciones que se enumeran en la tabla siguiente solo pueden usarse en la sección **Relaciones avanzadas de prebúsqueda**. Cada función especifica un rectángulo difuso para el área de búsqueda o añade rectángulos a un array de rectángulos excluidos.

<table width="100%">
  <tbody>
    <tr>
      <td>
        <p>
          <strong>Función</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>Descripción</strong>
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Leftof( XInterval x, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano vertical situado a la izquierda del punto x.End - offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Leftof( FuzzyRect fuzzyRect, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda al semiplano vertical situado a la izquierda del punto fuzzyRect.Left.End – offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Leftof( Hypothesis hyp, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano vertical situado a la izquierda del punto hyp.Left.End - offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void LeftOf( HypothesisInstances hyps, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda al semiplano vertical situado a la izquierda del punto hyps.Left.End – offset. Se utilizan coordenadas globales.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Rightof( XInterval x, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano vertical situado a la derecha del punto x.Start + offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Rightof( FuzzyRect fuzzyRect, Distance offset = 0 )</p>
      </td>

      <td>
        <details>
          <summary>P. ej.</summary>
          <p>Puede especificar que el área de búsqueda del elemento se encuentre a la derecha del área de intersección formada por los rectángulos difusos Element1 y Element2.</p>

          <pre>
            <code>FuzzyRect intersection = Element1.FuzzyRect AND Element2.FuzzyRect; RightOf: intersection;</code>
          </pre>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Rightof( Hypothesis hyp, Distance offset = 0 )</p>
      </td>

      <td>
        <p>
          Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano vertical situado a la derecha del punto hyp.Right.Start + offset.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RightOf( HypothesisInstances hyps, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda usando el semiplano vertical a la derecha del punto hyp.Right.Start + offset. Se utilizan coordenadas globales.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Above( YInterval y, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano horizontal situado por encima del punto y.End - offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Above( FuzzyRect fuzzyRect, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda al semiplano horizontal situado por encima del punto hyp.top.End – offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Above( Hypothesis hyp, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano horizontal situado por encima del punto hyp.top.End - offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Above( HypothesisInstances hyps, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda por el semiplano horizontal situado por encima del punto hyp.top.End – offset. Se utilizan coordenadas globales.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Below( YInterval y, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo que resulta de la intersección del rectángulo de la página con el semiplano horizontal situado por debajo del punto y.Start + offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Below( FuzzyRect fuzzyRect, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Restringe el área de búsqueda al semiplano horizontal situado por debajo del punto hyp.Bottom.Start + offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Below( Hypothesis hyp, Distance offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a un rectángulo resultante de la intersección entre el rectángulo de la página y el semiplano horizontal situado debajo del punto hyp.Bottom.Start + offset.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Debajo( HypothesisInstances hyps, Distancia offset = 0 )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda al semiplano horizontal situado debajo del punto hyp.Bottom.Start + offset. Se utilizan coordenadas globales.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Exclude( Hypothesis hyp )</p>
      </td>

      <td>
        <p>Excluye la Region de la hipótesis hyp del área de búsqueda. Si no se encuentra la hipótesis hyp, excluye el rectángulo interno del área de búsqueda de la hipótesis hyp.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Exclude( Rect rect )</p>
      </td>

      <td>
        <p>Excluye el rectángulo rect del área de búsqueda.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Exclude( RectArray rectArray )</p>
      </td>

      <td>
        <p>Excluye del área de búsqueda el array de rectángulos rectArray.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void ExcludeRect( XInterval left, YInterval top, XInterval right, YInterval bottom )</p>
      </td>

      <td>
        <p>Excluye del área de búsqueda el rectángulo difuso descrito por los rangos left, top, right y bottom.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void ExcludeSet( ImageObjectSet set )</p>
      </td>

      <td>
        <p>
          Excluye del área de búsqueda el array de rectángulos del conjunto de objetos <em>set</em>.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void Exclude( HypothesisInstances )</p>
      </td>

      <td>
        <p>Excluye del área de búsqueda la región correspondiente a las instancias de la hipótesis.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( FuzzyRect fuzzyRect )</p>
      </td>

      <td>
        <p>Restringe el área de búsqueda al rectángulo difuso fuzzyRect. Se utilizan coordenadas globales.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( FuzzyRect, IntArray pages )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda con el rectángulo difuso fuzzyRect. Especifique las coordenadas locales y el rango de páginas pages.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( FuzzyRect, SearchAreaPageSetType )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda mediante el rectángulo difuso fuzzyRect. Especifique las coordenadas locales y el intervalo de páginas del tipo SearchAreaPageSetType.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( RectArray rectArray )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda al array de rectángulos rectArray. Se utilizan coordenadas globales.</p>

        <details>
          <summary>P. ej.</summary>

          <p>
            Puede especificar que los límites del área de búsqueda del elemento actual estén definidos por los límites de los rectángulos de los elementos ElementName1, ElementName2 y ElementName3.
            Si no se detecta alguno de los elementos, al llamar a esta función, el área de búsqueda del elemento actual quedará definida por los límites de las áreas de búsqueda de los
            elementos correspondientes.
          </p>

          <pre>
            <code>RestrictSearchArea: RectArray(ElementName1.Rect or ElementName2.Rect or ElementName3.Rect);</code>
          </pre>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( RectArray, IntArray pages )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda con el array de rectángulos rectArray. Especifique las coordenadas locales y el intervalo de páginas pages.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( RectArray, SearchAreaPageSetType )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda mediante el array de rectángulos rectArray. Especifique las coordenadas locales y el rango de páginas del tipo SearchAreaPageSetType.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( Region region )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda a la región region. Se utilizan coordenadas globales.</p>

        <details>
          <summary>P. ej.</summary>
          <p>Puede especificar que el área de búsqueda del elemento actual quede limitada por la región del elemento ElementName.</p>

          <pre>
            <code>RestrictSearchArea: ElementName.Region;</code>
          </pre>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( Region, IntArray pages )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda mediante la región. Especifique las coordenadas locales y el intervalo de páginas en pages.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( Region, SearchAreaPageSetType )</p>
      </td>

      <td>
        <p>Limita el área de búsqueda mediante la región. Especifique las coordenadas locales y el intervalo de páginas del tipo SearchAreaPageSetType.</p>

        <details>
          <summary>P. ej.</summary>
          <p>Puede especificar que el elemento se busque en el área de búsqueda de las páginas pares.</p>
          <p>RestrictSearchArea: searchArea, EvenPages;</p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( SearchAreaPageRestriction pageRestriction, IntArray pages )</p>
      </td>

      <td>
        <p>Limita el rango de páginas en el que se realizará la búsqueda, sin limitar el área de búsqueda en las propias páginas. El parámetro pageRestriction solo admite un valor: WholePage.</p>

        <details>
          <summary>P. ej.</summary>
          <p>Puede especificar que el elemento debe buscarse en las páginas 2, 4 y 7-9.</p>
          <p>RestrictSearchArea: WholePage, 2 \<\< 4 \<\< 7 \<\< 8 \<\< 9;</p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RestrictSearchArea( SearchAreaPageRestriction pageRestriction, SearchAreaPageSetType )</p>
      </td>

      <td>
        <details>
          <summary>P. ej.</summary>
          <p>Puede especificar que el elemento se busque en la Última página.</p>

          <pre>
            <code>RestrictSearchArea: WholePage, LastPage;</code>
          </pre>
        </details>
      </td>
    </tr>

    <tr>
      <td colspan="2">
        <p>
          <strong>Nota.</strong> Puede usar el alias <strong>RSA</strong> en lugar del nombre completo <strong>RestrictSearchArea</strong>.
        </p>
      </td>
    </tr>
  </tbody>
</table>

<Note>
  Las distintas restricciones para una misma página se usan conjuntamente y, para páginas diferentes, de forma independiente. (La búsqueda se realiza en las páginas para las que se ha especificado al menos una restricción).
</Note>

<div id="auxiliary-functions-that-define-the-search-area">
  ## Funciones auxiliares que definen el área de búsqueda
</div>

<table width="100%">
  <tbody>
    <tr>
      <td>
        <p>Rect PageRect()</p>
      </td>

      <td>
        <p>El rectángulo de la página actual en coordenadas globales se usa para especificar un área de búsqueda que depende de la página.</p>

        <p>
          <strong>PageRect</strong> solo puede usarse para especificar un área de búsqueda.
        </p>

        <details>
          <summary>P. ej.</summary>
          <p>Para indicar que el elemento se encuentra en la mitad inferior de una página (la página exacta no se conoce de antemano), escriba:</p>
          <p>Below: PageRect.Top + PageRect.Height / 2;</p>

          <p>
            En todos los demás casos, use la construcción <strong>Page( N ).Rect</strong> para obtener el rectángulo de la página número <strong>N</strong> o <strong>DocumentRect</strong> para obtener el rectángulo de
            todo el documento. También puede usar la función <strong>PageNumber</strong> para especificar un área de búsqueda que dependa de la página.
          </p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int PageNumber()</p>
      </td>

      <td>
        <details>
          <summary>P. ej.</summary>
          <p>Suponga que tiene un elemento repetitivo SearchElements.PageHeader. Para buscar en cada página por debajo de las instancias de este elemento, escriba:</p>
          <p>Below: SearchElements.PageHeader.AllInstances.PageAreaGlobal( PageNumber ).FuzzyRect, 0 \* dot;</p>
        </details>
      </td>
    </tr>
  </tbody>
</table>
