HeaderFooter

HeaderFooter class

Représente un conteneur pour le texte d’en-tête ou de pied de page d’une section.

public class HeaderFooter : Story

Constructeurs

Nom La description
HeaderFooter(DocumentBase, HeaderFooterType) Crée un nouvel en-tête ou pied de page du type spécifié.

Propriétés

Nom La description
ChildNodes { get; } Obtient tous les nœuds enfants immédiats de ce nœud.
Count { get; } Obtient le nombre d’enfants immédiats de ce nœud.
CustomNodeId { get; set; } Spécifie l’identifiant de nœud personnalisé.
virtual Document { get; } Obtient le document auquel ce nœud appartient.
FirstChild { get; } Obtient le premier enfant du nœud.
FirstParagraph { get; } Obtient le premier paragraphe de l’histoire.
HasChildNodes { get; } Renvoie vrai si ce nœud a des nœuds enfants.
HeaderFooterType { get; } Obtient le type de cet en-tête/pied de page.
override IsComposite { get; } Renvoie true car ce nœud peut avoir des nœuds enfants.
IsHeader { get; } Vrai si cela En-têtePied de page l’objet est un en-tête.
IsLinkedToPrevious { get; set; } Vrai si cet en-tête ou ce pied de page est lié à l’en-tête ou au pied de page correspondant dans la section précédente.
LastChild { get; } Obtient le dernier enfant du nœud.
LastParagraph { get; } Obtient le dernier paragraphe de l’histoire.
NextSibling { get; } Obtient le nœud suivant immédiatement ce nœud.
override NodeType { get; } Retours NodeType.HeaderFooter .
Paragraphs { get; } Obtient une collection de paragraphes qui sont des enfants immédiats de l’histoire.
ParentNode { get; } Obtient le parent immédiat de ce nœud.
ParentSection { get; } Obtient la section parent de cette histoire.
PreviousSibling { get; } Obtient le nœud précédant immédiatement ce nœud.
Range { get; } Renvoie un Intervalle objet qui représente la partie d’un document contenue dans ce nœud.
StoryType { get; } Obtient le type de cette histoire.
Tables { get; } Obtient une collection de tables qui sont des enfants immédiats de l’histoire.

Méthodes

Nom La description
override Accept(DocumentVisitor) Accepte un visiteur.
AppendChild(Node) Ajoute le nœud spécifié à la fin de la liste des nœuds enfants pour ce nœud.
AppendParagraph(string) Une méthode de raccourci qui crée unParagraph objet avec du texte facultatif et l’ajoute à la fin de cet objet.
Clone(bool) Crée un doublon du nœud.
CreateNavigator() Réservé à l’utilisation du système. IXPathNavigable.
DeleteShapes() Supprime toutes les formes du texte de cette histoire.
GetAncestor(NodeType) Obtient le premier ancêtre du spécifiéNodeType .
GetAncestor(Type) Obtient le premier ancêtre du type d’objet spécifié.
GetChild(NodeType, int, bool) Renvoie un Nième nœud enfant qui correspond au type spécifié.
GetChildNodes(NodeType, bool) Renvoie une collection dynamique de nœuds enfants correspondant au type spécifié.
GetEnumerator() Fournit la prise en charge de chaque itération de style sur les nœuds enfants de ce nœud.
override GetText() Obtient le texte de ce nœud et de tous ses enfants.
IndexOf(Node) Renvoie l’index du nœud enfant spécifié dans le tableau de nœuds enfants.
InsertAfter(Node, Node) Insère le nœud spécifié immédiatement après le nœud de référence spécifié.
InsertBefore(Node, Node) Insère le nœud spécifié juste avant le nœud de référence spécifié.
NextPreOrder(Node) Obtient le nœud suivant selon l’algorithme de traversée de l’arbre de pré-ordre.
PrependChild(Node) Ajoute le nœud spécifié au début de la liste des nœuds enfants pour ce nœud.
PreviousPreOrder(Node) Obtient le nœud précédent selon l’algorithme de parcours de l’arbre de pré-ordre.
Remove() Se supprime du parent.
RemoveAllChildren() Supprime tous les nœuds enfants du nœud actuel.
RemoveChild(Node) Supprime le nœud enfant spécifié.
RemoveSmartTags() Supprime toutSmartTag nœuds descendants du nœud actuel.
SelectNodes(string) Sélectionne une liste de nœuds correspondant à l’expression XPath.
SelectSingleNode(string) Sélectionne le premier nœud qui correspond à l’expression XPath.
ToString(SaveFormat) Exporte le contenu du nœud dans une chaîne au format spécifié.
ToString(SaveOptions) Exporte le contenu du nœud dans une chaîne à l’aide des options d’enregistrement spécifiées.

Remarques

En-têtePied de page peut contenir Paragraphe et Table nœuds enfants.

En-têtePied de page est un nœud de niveau section et ne peut être qu’un enfant de Section . Il ne peut y avoir qu’un seul En-têtePied de page ou chacunHeaderFooterType dans un Section.

Si Section n’a pas de En-têtePied de page d’un type spécifique ou le En-têtePied de page n’a pas de nœud enfant, cet en-tête/pied de page est considéré comme lié à l’en-tête/pied de page du même type de la section précédente dans Microsoft Word.

Lorsque En-têtePied de page contient au moins un Paragraphe, il n’est plus considéré comme lié au précédent dans Microsoft Word.

Exemples

Montre comment remplacer du texte dans le pied de page d’un document.

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");

Montre comment supprimer tous les pieds de page d’un document.

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

// Parcourez chaque section et supprimez les pieds de page de toutes sortes.
foreach (Section section in doc.OfType<Section>())
{
    // Il existe trois types de types de pied de page et d'en-tête.
    // 1 - L'en-tête/pied de page "Premier", qui n'apparaît que sur la première page d'une section.
    HeaderFooter footer = section.HeadersFooters[HeaderFooterType.FooterFirst];
    footer?.Remove();

    // 2 - L'en-tête/pied de page "Primaire", qui apparaît sur les pages impaires.
    footer = section.HeadersFooters[HeaderFooterType.FooterPrimary];
    footer?.Remove();

     // 3 - L'en-tête/pied de page "Even", qui apparaît sur les pages paires.
    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
    footer?.Remove();

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

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

Montre comment créer un en-tête et un pied de page.

Document doc = new Document();

// Crée un en-tête et y ajoute un paragraphe. Le texte de ce paragraphe
// apparaîtra en haut de chaque page de cette section, au-dessus du corps du texte 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);

// Crée un pied de page et y ajoute un paragraphe. Le texte de ce paragraphe
// apparaîtra au bas de chaque page de cette section, sous le corps du texte 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");

Voir également