HeaderFooter

HeaderFooter class

Representa un contenedor para el texto del encabezado o pie de página de una sección.

public class HeaderFooter : Story

Constructores

Nombre Descripción
HeaderFooter(DocumentBase, HeaderFooterType) Crea un nuevo encabezado o pie de página del tipo especificado.

Propiedades

Nombre Descripción
ChildNodes { get; } Obtiene todos los nodos secundarios inmediatos de este nodo.
Count { get; } Obtiene el número de hijos inmediatos de este nodo.
CustomNodeId { get; set; } Especifica el identificador de nodo personalizado.
virtual Document { get; } Obtiene el documento al que pertenece este nodo.
FirstChild { get; } Obtiene el primer hijo del nodo.
FirstParagraph { get; } Obtiene el primer párrafo de la historia.
HasChildNodes { get; } Devuelve verdadero si este nodo tiene nodos secundarios.
HeaderFooterType { get; } Obtiene el tipo de este encabezado/pie de página.
override IsComposite { get; } Devuelve verdadero ya que este nodo puede tener nodos secundarios.
IsHeader { get; } Verdadero si esto EncabezadoPie de página el objeto es un encabezado.
IsLinkedToPrevious { get; set; } Verdadero si este encabezado o pie de página está vinculado al encabezado o pie de página correspondiente en la sección anterior.
LastChild { get; } Obtiene el último hijo del nodo.
LastParagraph { get; } Obtiene el último párrafo de la historia.
NextSibling { get; } Obtiene el nodo que sigue inmediatamente a este nodo.
override NodeType { get; } Devoluciones NodeType.HeaderFooter .
Paragraphs { get; } Obtiene una colección de párrafos que son hijos inmediatos de la historia.
ParentNode { get; } Obtiene el padre inmediato de este nodo.
ParentSection { get; } Obtiene la sección principal de esta historia.
PreviousSibling { get; } Obtiene el nodo inmediatamente anterior a este nodo.
Range { get; } Devuelve un Rango objeto que representa la parte de un documento que está contenido en este nodo.
StoryType { get; } Obtiene el tipo de esta historia.
Tables { get; } Obtiene una colección de tablas que son elementos secundarios inmediatos de la historia.

Métodos

Nombre Descripción
override Accept(DocumentVisitor) Acepta un visitante.
AppendChild(Node) Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo.
AppendParagraph(string) Un método abreviado que crea unParagraph objeto con texto opcional y lo agrega al final de este objeto.
Clone(bool) Crea un duplicado del nodo.
CreateNavigator() Reservado para uso del sistema. IXPathNavigable.
DeleteShapes() Elimina todas las formas del texto de esta historia.
GetAncestor(NodeType) Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type) Obtiene el primer ancestro del tipo de objeto especificado.
GetChild(NodeType, int, bool) Devuelve un enésimo nodo secundario que coincide con el tipo especificado.
GetChildNodes(NodeType, bool) Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado.
GetEnumerator() Proporciona soporte para la iteración de cada estilo sobre los nodos secundarios de este nodo.
override GetText() Obtiene el texto de este nodo y de todos sus hijos.
IndexOf(Node) Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios.
InsertAfter(Node, Node) Inserta el nodo especificado inmediatamente después del nodo de referencia especificado.
InsertBefore(Node, Node) Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado.
NextPreOrder(Node) Obtiene el siguiente nodo de acuerdo con el algoritmo de recorrido del árbol de pedido previo.
PrependChild(Node) Agrega el nodo especificado al principio de la lista de nodos secundarios para este nodo.
PreviousPreOrder(Node) Obtiene el nodo anterior de acuerdo con el algoritmo de recorrido del árbol de pedido previo.
Remove() Se elimina a sí mismo del padre.
RemoveAllChildren() Elimina todos los nodos secundarios del nodo actual.
RemoveChild(Node) Elimina el nodo secundario especificado.
RemoveSmartTags() Elimina todoSmartTag nodos descendientes del nodo actual.
SelectNodes(string) Selecciona una lista de nodos que coinciden con la expresión XPath.
SelectSingleNode(string) Selecciona el primer nodo que coincide con la expresión XPath.
ToString(SaveFormat) Exporta el contenido del nodo a una cadena en el formato especificado.
ToString(SaveOptions) Exporta el contenido del nodo a una cadena utilizando las opciones de guardado especificadas.

Observaciones

EncabezadoPie de página puede contener Párrafo y Mesa nodos secundarios.

EncabezadoPie de página es un nodo de nivel de sección y solo puede ser un hijo de Sección . Solo puede haber uno EncabezadoPie de página o cada unoHeaderFooterType en un Sección.

Si Sección no tiene una EncabezadoPie de página de un tipo específico o el EncabezadoPie de página no tiene nodos secundarios, este encabezado/pie de página se considera vinculado a el encabezado/pie de página del mismo tipo de la sección anterior en Microsoft Word.

Cuando EncabezadoPie de página contiene al menos uno Párrafo, ya no se considera vinculado al anterior en Microsoft Word.

Ejemplos

Muestra cómo reemplazar texto en el pie de página de un documento.

Document doc = new Document(MyDir + "Footer.docx");

HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];

FindReplaceOptions options = new FindReplaceOptions
{
    MatchCase = false,
    FindWholeWordsOnly = false
};

int currentYear = DateTime.Now.Year;
footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", $"Copyright (C) {currentYear} by Aspose Pty Ltd.", options);

doc.Save(ArtifactsDir + "HeaderFooter.ReplaceText.docx");

Muestra cómo eliminar todos los pies de página de un documento.

Document doc = new Document(MyDir + "Header and footer types.docx");

// Iterar a través de cada sección y eliminar pies de página de todo tipo.
foreach (Section section in doc.OfType<Section>())
{
    // Hay tres tipos de tipos de encabezado y pie de página.
    // 1 - El encabezado/pie de página "Primero", que solo aparece en la primera página de una sección.
    HeaderFooter footer = section.HeadersFooters[HeaderFooterType.FooterFirst];
    footer?.Remove();

    // 2 - El encabezado/pie de página "Principal", que aparece en las páginas impares.
    footer = section.HeadersFooters[HeaderFooterType.FooterPrimary];
    footer?.Remove();

      // 3 - El encabezado/pie de página "Even", que aparece en las páginas pares.
    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
    footer?.Remove();

    Assert.AreEqual(0, section.HeadersFooters.Count(hf => !((HeaderFooter)hf).IsHeader));
}

doc.Save(ArtifactsDir + "HeaderFooter.RemoveFooters.docx");

Muestra cómo crear un encabezado y un pie de página.

Document doc = new Document();

// Crear un encabezado y agregarle un párrafo. El texto de ese párrafo
// aparecerá en la parte superior de cada página de esta sección, encima del texto del cuerpo principal.
HeaderFooter header = new HeaderFooter(doc, HeaderFooterType.HeaderPrimary);
doc.FirstSection.HeadersFooters.Add(header);

Paragraph para = header.AppendParagraph("My header.");

Assert.True(header.IsHeader);
Assert.True(para.IsEndOfHeaderFooter);

// Crea un pie de página y añádele un párrafo. El texto de ese párrafo
// aparecerá en la parte inferior de cada página de esta sección, debajo del texto del cuerpo principal.
HeaderFooter footer = new HeaderFooter(doc, HeaderFooterType.FooterPrimary);
doc.FirstSection.HeadersFooters.Add(footer);

para = footer.AppendParagraph("My footer.");

Assert.False(footer.IsHeader);
Assert.True(para.IsEndOfHeaderFooter);

Assert.AreEqual(footer, para.ParentStory);
Assert.AreEqual(footer.ParentSection, para.ParentSection);
Assert.AreEqual(footer.ParentSection, header.ParentSection);

doc.Save(ArtifactsDir + "HeaderFooter.Create.docx");

Ver también