HeaderFooter

HeaderFooter class

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

public class HeaderFooter : Story

Costruttori

Nome Descrizione
HeaderFooter(DocumentBase, HeaderFooterType) Crea una nuova intestazione o piè di pagina del tipo specificato.

Proprietà

Nome Descrizione
ChildNodes { get; } Ottiene tutti i nodi figlio immediati di questo nodo.
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; } Restituisce true se questo nodo ha nodi figlio.
HeaderFooterType { get; } Ottiene il tipo di questa intestazione/piè di pagina.
override IsComposite { get; } Restituisce true poiché questo nodo può avere nodi figlio.
IsHeader { get; } Vero se questo HeaderFooter l’oggetto è un’intestazione.
IsLinkedToPrevious { get; set; } Vero se questa intestazione o piè di pagina è collegata all’intestazione o 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; } Restituisce NodeType.HeaderFooter .
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 a questo nodo.
Range { get; } Restituisce a Gamma oggetto che rappresenta la parte di un documento contenuta in questo nodo.
StoryType { get; } Ottiene il tipo di questa storia.
Tables { get; } Ottiene una raccolta di tabelle che sono figli immediati della storia.

Metodi

Nome Descrizione
override Accept(DocumentVisitor) Accetta un visitatore.
AppendChild(Node) Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo.
AppendParagraph(string) Un metodo di scelta rapida che crea aParagraph oggetto con testo opzionale e lo aggiunge alla fine di questo oggetto.
Clone(bool) Crea un duplicato del nodo.
CreateNavigator() Riservato per l’uso del sistema. IXPathNavigable.
DeleteShapes() Elimina tutte le forme dal testo di questa storia.
GetAncestor(NodeType) Ottiene il primo predecessore dell’oggetto specificatoNodeType .
GetAncestor(Type) Ottiene il primo predecessore del tipo di oggetto specificato.
GetChild(NodeType, int, bool) Restituisce un ennesimo 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 del nodo figlio.
InsertAfter(Node, Node) Inserisce il nodo specificato subito dopo il nodo di riferimento specificato.
InsertBefore(Node, 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 di preordine.
PrependChild(Node) Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo.
PreviousPreOrder(Node) Ottiene il nodo precedente in base all’algoritmo di attraversamento dell’albero di preordine.
Remove() Si rimuove dal genitore.
RemoveAllChildren() Rimuove tutti i nodi figlio del nodo corrente.
RemoveChild(Node) 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 primo nodo 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ò contenere Paragrafo e Tavolo nodi figli.

HeaderFooter è un nodo a livello di sezione e può essere solo un figlio di Sezione . Può essercene solo uno HeaderFooter o ciascunoHeaderFooterType in un Sezione.

Se Sezione non ha un HeaderFooter di un tipo specifico o il HeaderFooter 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.

quando HeaderFooter ne contiene almeno uno Paragrafo, non è più considerato collegato a precedenti 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");

// Scorri ogni sezione e rimuovi 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 "Primo", 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 "Even", che appare sulle 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 ad essa. Il testo in quel paragrafo
// apparirà nella parte superiore di ogni pagina di questa sezione, sopra il corpo del 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 corpo del 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