Trabajar con Secciones

A veces, desea un documento que no tenga el mismo formato en todas las páginas. Por ejemplo, es posible que deba modificar los formatos de los números de página, tener un tamaño y orientación de página diferentes o tener la primera página del documento como portada sin numeración. Puedes lograrlo con secciones.

Las secciones son nodos de nivel que controlan encabezados y pies de página, orientación, columnas, márgenes, formato de números de página y otros.

Aspose.Words le permite administrar secciones, dividir un documento en secciones y realizar cambios de formato que se apliquen solo a una sección específica. Aspose.Words almacena información sobre el formato de la sección, como encabezados y pies de página, configuración de la página y configuración de la columna en el salto de sección.

En este artículo se explica cómo trabajar con secciones y saltos de sección.

Qué Sección y Salto de Sección Es

Las secciones del documento están representadas por las clases Section y SectionCollection. Los objetos de sección son hijos inmediatos del nodo Document y se puede acceder a ellos a través de la propiedad Sections. Puede administrar esos nodos utilizando algunos métodos, como Remove, Add, IndexOf, y otros.

El salto de sección es una opción que divide las páginas del documento en secciones con diseños personalizables.

Tipos de Salto de Sección

Aspose.Words le permite dividir y formatear documentos utilizando diferentes saltos de sección de la enumeración BreakType:

  • SectionBreakContinuous
  • SectionBreakNewColumn
  • SectionBreakNewPage
  • SectionBreakEvenPage
  • SectionBreakOddPage

También puede usar la enumeración SectionStart para elegir un tipo de interrupción que se aplique solo a la primera sección, como NewColumn, NewPage, EvenPage, y OddPage.

Administrar una Sección

Dado que una sección es un nodo compuesto normal, toda la manipulación de nodos API se puede utilizar para manipular secciones: para agregar, eliminar y otras operaciones en secciones. Puede leer más sobre los nodos en el artículo Aspose.Words Modelo de objetos de documento (DOM).

Por otro lado, también puedes usar el DocumentBuilder API para trabajar con secciones. En este artículo, nos centraremos en esta forma particular de trabajar con secciones.

Insertar o eliminar un salto de Sección

Aspose.Words le permite insertar un salto de sección en el texto utilizando el método InsertBreak.

El siguiente ejemplo de código muestra cómo insertar un salto de sección en un documento:

Utilice el método Remove para eliminar un salto de sección. Si no necesita eliminar un salto de sección específico y, en su lugar, eliminar el contenido de esa sección, puede usar el método ClearContent.

El siguiente ejemplo de código muestra cómo eliminar saltos de sección:

Mover una Sección

Si desea mover una sección de una posición a otra en su documento, necesita obtener el índice de esa sección. Aspose.Words le permite obtener una posición de sección a partir de SectionCollection. Puede usar la propiedad Sections para obtener todas las secciones de su documento. Pero si desea obtener solo la primera sección, puede usar la propiedad FirstSection.

El siguiente ejemplo de código muestra cómo acceder a la primera sección e iterar a través de los elementos secundarios de un nodo compuesto:

Especificar un Diseño de Sección

A veces, desea que su documento se vea mejor creando diseños creativos para diferentes secciones del documento. Si desea especificar el tipo de cuadrícula de sección actual, puede elegir un modo de diseño de sección utilizando la enumeración SectionLayoutMode:

  • Por defecto
  • Cuadrícula
  • LineGrid
  • SnapToChars

El siguiente ejemplo de código muestra cómo limitar el número de líneas que puede tener cada página:

Editar una Sección

Cuando agregue una nueva sección a su documento, no habrá cuerpo ni párrafo que pueda editar. Aspose.Words le permite garantizar que una sección contenga un cuerpo con al menos un párrafo utilizando el método EnsureMinimum: agregará automáticamente un nodo de Cuerpo (o HeaderFooter) al documento y luego le agregará un párrafo.

El siguiente ejemplo de código muestra cómo preparar un nuevo nodo de sección usando EnsureMinimum:

Anexar o Anteponer Contenido

Si desea dibujar alguna forma o agregar texto o imagen al principio/final de una sección, puede usar los métodos AppendContent y PrependContent de la clase Section.

El siguiente ejemplo de código muestra cómo anexar contenido de una sección existente:

Clonar una Sección

Aspose.Words le permite duplicar una sección creando una copia completa de la misma utilizando el método deepClone.

El siguiente ejemplo de código muestra cómo clonar la primera sección en su documento:

Copiar Secciones entre Documentos

En algunos casos, es posible que tenga documentos grandes con muchas secciones y desee copiar el contenido de una sección de un documento a otro.

Aspose.Words le permite copiar secciones entre documentos utilizando el método ImportNode.

El siguiente ejemplo de código muestra cómo copiar secciones entre documentos:

Trabajar con Encabezado y Pie de Sección

Las reglas básicas para mostrar un encabezado o pie de página para cada sección son bastante simples:

  1. Si la sección no tiene sus propios encabezados/pies de página de cierto tipo, entonces se toma de la sección anterior.
  2. El tipo de encabezado / pie de página que se muestra en la página está controlado por la configuración de la sección “Primera Página diferente” y “Páginas Pares e Impares diferentes–; si están deshabilitadas, se ignoran los títulos propios de la sección.

El siguiente ejemplo de código muestra cómo crear 2 secciones con encabezados diferentes:

Si desea eliminar el texto de los encabezados y pies de página sin eliminar los objetos HeaderFooter en su documento, puede usar el método ClearHeadersFooters. Además, puede utilizar el método DeleteHeaderFooterShapes para eliminar todas las formas de los encabezados y pies de página del documento.

El siguiente ejemplo de código muestra cómo borrar el contenido de todos los encabezados y pies de página de una sección:

El siguiente ejemplo de código muestra cómo eliminar todas las formas de todos los pies de página de encabezados en una sección:

Personalizar las Propiedades de la página en una Sección

Antes de imprimir una página o un documento, es posible que desee personalizar y modificar el tamaño y el diseño de una sola página o de todo el documento. Con configuración de página, puede cambiar la configuración de las páginas del documento, como los márgenes, la orientación y el tamaño para imprimir diferentes primeras páginas o páginas impares.

Aspose.Words le permite personalizar las propiedades de la página y la sección utilizando la clase PageSetup.

El siguiente ejemplo de código muestra cómo establecer propiedades como el tamaño de página y la orientación para la sección actual:

El siguiente ejemplo de código muestra cómo modificar las propiedades de la página en todas las secciones:

Véase También