HeaderFooter

HeaderFooter class

Rappresenta un contenitore per il testo dell’intestazione o del piè di pagina di una sezione.

Per saperne di più, visita ilLavorare con intestazioni e piè di pagina articolo di documentazione.

public class HeaderFooter : Story

Costruttori

NomeDescrizione
HeaderFooter(DocumentBaseHeaderFooterType)Crea una nuova intestazione o piè di pagina del tipo specificato.

Proprietà

NomeDescrizione
Count { get; }Ottiene il numero di figli immediati di questo nodo.
CustomNodeId { get; set; }Specifica l’identificatore del nodo personalizzato.
virtual Document { get; }Ottiene il documento a cui appartiene questo nodo.
FirstChild { get; }Ottiene il primo figlio del nodo.
FirstParagraph { get; }Ottiene il primo paragrafo della storia.
HasChildNodes { get; }RestituisceVERO se questo nodo ha nodi figlio.
HeaderFooterType { get; }Ottiene il tipo di questa intestazione/piè di pagina.
override IsComposite { get; }RestituisceVERO poiché questo nodo può avere nodi figlio.
IsHeader { get; }Vero se questoHeaderFooter l’oggetto è un’intestazione.
IsLinkedToPrevious { get; set; }Vero se questa intestazione o piè di pagina è collegata all’intestazione o al piè di pagina corrispondente nella sezione precedente.
LastChild { get; }Ottiene l’ultimo figlio del nodo.
LastParagraph { get; }Ottiene l’ultimo paragrafo della storia.
NextSibling { get; }Ottiene il nodo immediatamente successivo a questo nodo.
override NodeType { get; }RestituisceHeaderFooter .
Paragraphs { get; }Ottiene una raccolta di paragrafi che sono figli immediati della storia.
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
ParentSection { get; }Ottiene la sezione padre di questa storia.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
Range { get; }Restituisce unRangeoggetto che rappresenta la porzione di un documento contenuta in questo nodo.
StoryType { get; }Ottiene il tipo di questa storia.
Tables { get; }Ottiene una raccolta di tabelle che sono figlie immediate della storia.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
override AcceptEnd(DocumentVisitor)Accetta un visitatore che ha visitato la fine dell’intestazione.
override AcceptStart(DocumentVisitor)Accetta un visitatore per aver visitato l’inizio dell’intestazione.
AppendChild<T>(T)Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo.
AppendParagraph(string)Un metodo di scelta rapida che crea unParagraph oggetto con testo facoltativo e lo aggiunge alla fine di questo oggetto.
Clone(bool)Crea un duplicato del nodo.
CreateNavigator()Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi.
DeleteShapes()Elimina tutte le forme dal testo di questa storia.
GetAncestor(NodeType)Ottiene il primo antenato dell’oggetto specificatoNodeType .
GetAncestor(Type)Ottiene il primo antenato del tipo di oggetto specificato.
GetChild(NodeType, int, bool)Restituisce un N-esimo nodo figlio che corrisponde al tipo specificato.
GetChildNodes(NodeType, bool)Restituisce una raccolta live di nodi figlio che corrispondono al tipo specificato.
GetEnumerator()Fornisce supporto per ogni iterazione di stile sui nodi figlio di questo nodo.
override GetText()Ottiene il testo di questo nodo e di tutti i suoi figli.
IndexOf(Node)Restituisce l’indice del nodo figlio specificato nell’array dei nodi figlio.
InsertAfter<T>(T, Node)Inserisce il nodo specificato subito dopo il nodo di riferimento specificato.
InsertBefore<T>(T, Node)Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato.
NextPreOrder(Node)Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero preordinato.
PrependChild<T>(T)Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo.
PreviousPreOrder(Node)Ottiene il nodo precedente secondo l’algoritmo di attraversamento dell’albero preordinato.
Remove()Si rimuove dal genitore.
RemoveAllChildren()Rimuove tutti i nodi figlio del nodo corrente.
RemoveChild<T>(T)Rimuove il nodo figlio specificato.
RemoveSmartTags()Rimuove tuttoSmartTag nodi discendenti del nodo corrente.
SelectNodes(string)Seleziona un elenco di nodi che corrispondono all’espressione XPath.
SelectSingleNode(string)Seleziona il primoNode che corrisponde all’espressione XPath.
ToString(SaveFormat)Esporta il contenuto del nodo in una stringa nel formato specificato.
ToString(SaveOptions)Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate.

Osservazioni

HeaderFooter può contenereParagraph ETavolo nodi figlio.

HeaderFooter è un nodo a livello di sezione e può essere solo un figlio diSection . Può essercene solo unoHeaderFooter di ciascunoHeaderFooterType in unSection.

SeSection non ha unHeaderFooter di un tipo specifico o ilHeaderFooter non ha nodi figlio, questa intestazione/piè di pagina è considerata collegata a l’intestazione/piè di pagina dello stesso tipo della sezione precedente in Microsoft Word.

QuandoHeaderFooter contiene almeno unoParagraph, non è più considerato collegato al precedente in Microsoft Word.

Esempi

Mostra come sostituire il testo nel piè di pagina di 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");

Mostra come eliminare tutti i piè di pagina da un documento.

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

// Scorrere ogni sezione e rimuovere i piè di pagina di ogni tipo.
foreach (Section section in doc.OfType<Section>())
{
    // Esistono tre tipi di piè di pagina e di intestazione.
    // 1 - L'intestazione/piè di pagina "Prima", che appare solo sulla prima pagina di una sezione.
    HeaderFooter footer = section.HeadersFooters[HeaderFooterType.FooterFirst];
    footer?.Remove();

    // 2 - L'intestazione/piè di pagina "Principale", che appare sulle pagine dispari.
    footer = section.HeadersFooters[HeaderFooterType.FooterPrimary];
    footer?.Remove();

     // 3 - L'intestazione/piè di pagina "Pari", che appare nelle pagine pari.
    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
    footer?.Remove();

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

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

Mostra come creare un’intestazione e un piè di pagina.

Document doc = new Document();

// Crea un'intestazione e aggiungi un paragrafo. Il testo in quel paragrafo
// apparirà in cima a ogni pagina di questa sezione, sopra il testo principale.
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 piè di pagina e aggiungi un paragrafo. Il testo in quel paragrafo
// apparirà in fondo a ogni pagina di questa sezione, sotto il testo principale.
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");

Guarda anche