HeaderFooter

HeaderFooter class

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

Para obtener más información, visite elTrabajar con encabezados y pies de página Artículo de documentación.

public class HeaderFooter : Story

Constructores

NombreDescripción
HeaderFooter(DocumentBaseHeaderFooterType)Crea un nuevo encabezado o pie de página del tipo especificado.

Propiedades

NombreDescripción
Count { get; }Obtiene el número de hijos inmediatos de este nodo.
CustomNodeId { get; set; }Especifica un 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; }Devuelveverdadero si este nodo tiene nodos secundarios.
HeaderFooterType { get; }Obtiene el tipo de este encabezado/pie de página.
override IsComposite { get; }Devuelveverdadero ya que este nodo puede tener nodos secundarios.
IsHeader { get; }Verdadero si estoHeaderFooter 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 inmediatamente siguiente a este nodo.
override NodeType { get; }DevuelveHeaderFooter .
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 unRangeobjeto que representa la porción de un documento que está contenida en este nodo.
StoryType { get; }Obtiene el tipo de esta historia.
Tables { get; }Obtiene una colección de tablas que son hijas inmediatas de la historia.

Métodos

NombreDescripción
override Accept(DocumentVisitor)Acepta un visitante.
override AcceptEnd(DocumentVisitor)Acepta un visitante por visitar el final del encabezado.
override AcceptStart(DocumentVisitor)Acepta un visitante por visitar el inicio del encabezado.
AppendChild<T>(T)Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo.
AppendParagraph(string)Un método de acceso directo que crea unParagraph objeto con texto opcional y lo agrega al final de este objeto.
Clone(bool)Crea un duplicado del nodo.
CreateNavigator()Crea un navegador que puede utilizarse para recorrer y leer nodos.
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 nodo secundario N 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 cada iteración de 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<T>(T, Node)Inserta el nodo especificado inmediatamente después del nodo de referencia especificado.
InsertBefore<T>(T, Node)Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo de recorrido del árbol de preorden.
PrependChild<T>(T)Agrega el nodo especificado al comienzo de la lista de nodos secundarios para este nodo.
PreviousPreOrder(Node)Obtiene el nodo anterior según el algoritmo de recorrido del árbol de preorden.
Remove()Se elimina a sí mismo del padre.
RemoveAllChildren()Elimina todos los nodos secundarios del nodo actual.
RemoveChild<T>(T)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 primerNode que coincide con la expresión XPath.
ToString(SaveFormat)Exporta el contenido del nodo en una cadena en el formato especificado.
ToString(SaveOptions)Exporta el contenido del nodo en una cadena utilizando las opciones de guardado especificadas.

Observaciones

HeaderFooter puede contenerParagraph yMesa nodos secundarios.

HeaderFooter es un nodo de nivel de sección y solo puede ser un hijo deSection . Solo puede haber unoHeaderFooter de cada unoHeaderFooterType en unSection.

SiSection no tiene unaHeaderFooter de un tipo específico o elHeaderFooter 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.

CuandoHeaderFooter contiene al menos unoParagraph, 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 pie de página y encabezado.
    // 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 "Par", 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();

// Crea un encabezado y añade 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ñade 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