Trabalhando com Seções

Às vezes você quer um documento que não tenha a mesma formatação em todas as páginas. Por exemplo, você pode precisar modificar formatos de número de página, ter diferentes tamanhos e orientação de página, ou ter a primeira página de documento como uma página de capa sem qualquer numeração. Você pode conseguir isso com seções.

As seções são nós de nível que controlam cabeçalhos e rodapés, orientação, colunas, margens, formatação de números de página e outros.

Aspose.Words permite gerenciar seções, dividir um documento em seções e fazer alterações de formatação que se aplicam apenas a uma seção específica. Aspose.Words armazena informações sobre formatação de seção, como cabeçalhos e rodapés, configuração de página e configurações de coluna no intervalo de seção.

Este artigo explica como trabalhar com seções e quebras de seção.

Que seção e quebra de seção é

Seções de documentos são representadas por Section e SectionCollection aulas. Objetos de seção são crianças imediatas do Document nó e pode ser acessado através do Sections propriedade. Você pode gerenciar esses nós usando alguns métodos como Remove, Add, IndexOf, e outros.

A quebra de seção é uma opção que divide páginas de documentos em seções com layouts personalizáveis.

Tipos de uma quebra de seção

Aspose.Words permite dividir e formatar documentos usando diferentes intervalos de seção do BreakType enumeração:

  • SeçãoBreakContinuado
  • SecçãoBreak NewColumn
  • SeçãoBreakNewPage
  • SeçãoBreakEvenPage
  • SeçãoBreakOddPage

Você também pode usar o SectionStart enumeração para escolher um tipo de ruptura que se aplica apenas para a primeira seção, como NewColumn, NewPage, EvenPage e OddPage.

Gerenciar uma Seção

Uma vez que uma seção é um nó composto normal, toda a manipulação do nó API pode ser usado para manipular seções: adicionar, remover e outras operações em seções. Você pode ler mais sobre nós no artigo Aspose.Words Document Object Model (DOM).

Por outro lado, você também pode usar o DocumentBuilder API para trabalhar com seções. Neste artigo, vamos focar nesta maneira particular de trabalhar com seções.

Inserir ou remover uma quebra de seção

Aspose.Words permite inserir uma quebra de seção em texto usando o InsertBreak método.

O exemplo de código a seguir mostra como inserir uma seção quebrar em um documento:

Use o Remove método para excluir uma quebra de seção. Se você não precisa remover uma quebra de seção específica e, em vez disso, excluir o conteúdo dessa seção, você pode usar o ClearContent método.

O exemplo de código a seguir mostra como remover seções quebra:

Mover uma seção

Se você quiser mover uma seção de uma posição para outra em seu documento, você precisa obter o índice dessa seção. Aspose.Words permite que você obtenha uma posição de seção de uma SectionCollection. Você pode usar o Sections propriedade para obter todas as seções em seu documento. Mas se você quiser obter apenas a primeira seção, você pode usar o FirstSection propriedade.

O exemplo de código a seguir mostra como acessar a primeira seção e iterar através das crianças de um nó composto:

Especificar um Layout de Seção

Às vezes você quer que seu documento fique melhor, fazendo layouts criativos para diferentes seções de documentos. Se você quiser especificar o tipo da grade de seção atual, você pode escolher um modo de layout de seção usando o SectionLayoutMode enumeração:

  • Defeito
  • Grid
  • LineGrid
  • SnapToChars

O exemplo de código a seguir mostra como limitar o número de linhas que cada página pode ter:

Editar uma secção

Quando você adiciona uma nova seção ao seu documento, não haverá nenhum corpo ou parágrafo que você possa editar. Aspose.Words permite que você garanta que uma seção contém um corpo com pelo menos um parágrafo usando o EnsureMinimum método – ele adicionará automaticamente um nó Body (ou HeaderFooter) ao documento e, em seguida, adicionará um Parágrafo a ele.

O exemplo de código a seguir mostra como preparar um novo nó de seção usando EnsureMinimum:

Anexar ou Prependir conteúdo

Se você quiser desenhar alguma forma ou adicionar texto ou imagem no início / fim de uma seção, você pode usar o AppendContent e PrependContent métodos de Section classe.

O exemplo de código a seguir mostra como anexar conteúdo de uma seção existente:

Clone a Section

Aspose.Words permite duplicar uma seção criando uma cópia completa dele usando o deepClone método.

O exemplo de código a seguir mostra como clonar a primeira seção em seu documento:

Copiar Seções entre Documentos

Em alguns casos, você pode ter grandes documentos com muitas seções e deseja copiar o conteúdo de uma seção de um documento para outro.

Aspose.Words permite copiar seções entre documentos usando o ImportNode método.

O exemplo a seguir mostra como copiar seções entre documentos:

Trabalho com cabeçalho de seção e rodapé

As regras básicas para exibir um cabeçalho ou rodapé para cada seção são bastante simples:

  1. Se a seção não tem seus próprios cabeçalhos/pés de um determinado tipo, então é tomado da seção anterior.
  2. O tipo de cabeçalho / rodapé exibido na página é controlado pelas configurações de seção “Different First Page” e “Different Odd & Even pages” – se eles estão desativados, então os próprios títulos da seção são ignorados.

O exemplo a seguir mostra como criar 2 seções com cabeçalhos diferentes:

Se você quiser remover o texto de cabeçalhos e rodapés sem remover HeaderFooter objetos em seu documento, você pode usar o ClearHeadersFooters método. Além disso, você pode usar o DeleteHeaderFooterShapes método para remover todas as formas de cabeçalhos e rodapés em seu documento.

O exemplo a seguir mostra como limpar o conteúdo de todos os cabeçalhos e rodapés em uma seção:

O seguinte exemplo de código como remover todas as formas de todos os cabeçalhos rodapé em uma seção:

Personalize as propriedades da página em uma seção

Antes de imprimir uma página ou um documento, você pode querer personalizar e modificar o tamanho e o layout de uma única página ou todo o documento. Com a configuração da página, você pode alterar as configurações de páginas de documentos, como margens, orientação e tamanho para imprimir páginas diferentes ou páginas ímpares.

Aspose.Words permite personalizar as propriedades de página e seção usando o PageSetup classe.

O exemplo de código a seguir mostra como definir propriedades como tamanho da página e orientação para a seção atual:

O exemplo de código a seguir mostra como modificar as propriedades da página em todas as seções:

Ver também