HeaderFooter

HeaderFooter class

Представляет контейнер для текста верхнего или нижнего колонтитула раздела.

Чтобы узнать больше, посетитеРабота с верхними и нижними колонтитулами статья документации.

public class HeaderFooter : Story

Конструкторы

ИмяОписание
HeaderFooter(DocumentBaseHeaderFooterType)Создает новый верхний или нижний колонтитул указанного типа.

Характеристики

ИмяОписание
Count { get; }Получает количество непосредственных дочерних элементов этого узла.
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
virtual Document { get; }Получает документ, которому принадлежит этот узел.
FirstChild { get; }Получает первого дочернего элемента узла.
FirstParagraph { get; }Получает первый абзац статьи.
HasChildNodes { get; }Возвращаетистинный если у этого узла есть дочерние узлы.
HeaderFooterType { get; }Получает тип верхнего/нижнего колонтитула.
override IsComposite { get; }Возвращаетистинный поскольку этот узел может иметь дочерние узлы.
IsHeader { get; }Верно, если этоHeaderFooter объект является заголовком.
IsLinkedToPrevious { get; set; }Истинно, если этот верхний или нижний колонтитул связан с соответствующим верхним или нижним колонтитулом в предыдущем разделе.
LastChild { get; }Получает последнего дочернего узла узла.
LastParagraph { get; }Получает последний абзац истории.
NextSibling { get; }Получает узел, следующий сразу за этим узлом.
override NodeType { get; }ВозвращаетHeaderFooter .
Paragraphs { get; }Получает коллекцию абзацев, которые являются непосредственными дочерними элементами истории.
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentSection { get; }Получает родительский раздел этой статьи.
PreviousSibling { get; }Получает узел, непосредственно предшествующий этому узлу.
Range { get; }ВозвращаетRange объект, представляющий часть документа, содержащуюся в этом узле.
StoryType { get; }Получает тип этой истории.
Tables { get; }Получает коллекцию таблиц, которые являются непосредственными дочерними элементами истории.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
AppendChild(Node)Добавляет указанный узел в конец списка дочерних узлов для этого узла.
AppendParagraph(string)Ярлык метода, создающийParagraph объект с необязательным текстом и добавляет его в конец этого объекта.
Clone(bool)Создает дубликат узла.
CreateNavigator()Создает навигатор, который можно использовать для перемещения и чтения узлов.
DeleteShapes()Удаляет все фигуры из текста этой истории.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля над дочерними узлами этого узла.
override GetText()Получает текст этого узла и всех его дочерних элементов.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter(NodeNode)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore(NodeNode)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
PrependChild(Node)Добавляет указанный узел в начало списка дочерних узлов для этого узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
Remove()Удаляет себя от родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild(Node)Удаляет указанный дочерний узел.
RemoveSmartTags()Удаляет всеSmartTagузлы-потомки текущего узла.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первыйNode которое соответствует выражению XPath.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.

Примечания

HeaderFooter может содержатьParagraph иСтол дочерние узлы.

HeaderFooter является узлом уровня раздела и может быть только дочерним элементомSection . Может быть только одинHeaderFooter каждогоHeaderFooterType вSection.

ЕслиSection не имеетHeaderFooter определенного типа или HeaderFooterне имеет дочерних узлов, этот верхний/нижний колонтитул считается связанным с верхним/нижним колонтитулом того же типа из предыдущего раздела в Microsoft Word.

КогдаHeaderFooter содержит хотя бы одинParagraph, он больше не считается связанным с предыдущим в Microsoft Word.

Примеры

Показывает, как заменить текст в нижнем колонтитуле документа.

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

Показывает, как удалить все нижние колонтитулы из документа.

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

// Перебираем каждый раздел и удаляем все виды нижних колонтитулов.
foreach (Section section in doc.OfType<Section>())
{
    // Существует три типа нижнего колонтитула и заголовка.
    // 1 — «Первый» верхний/нижний колонтитул, который отображается только на первой странице раздела.
    HeaderFooter footer = section.HeadersFooters[HeaderFooterType.FooterFirst];
    footer?.Remove();

    // 2 — «Основной» верхний/нижний колонтитул, который появляется на нечетных страницах.
    footer = section.HeadersFooters[HeaderFooterType.FooterPrimary];
    footer?.Remove();

     // 3 — «Четный» верхний/нижний колонтитул, который появляется на четных страницах.
    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
    footer?.Remove();

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

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

Показывает, как создать верхний и нижний колонтитулы.

Document doc = new Document();

// Создаем заголовок и добавляем к нему абзац. Текст в этом абзаце
// появится вверху каждой страницы этого раздела, над основным текстом.
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);

// Создаем нижний колонтитул и добавляем к нему абзац. Текст в этом абзаце
// появится внизу каждой страницы этого раздела, под основным текстом.
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");

Смотрите также