HeaderFooter

HeaderFooter class

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

public class HeaderFooter : Story

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

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

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

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

Методы

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

Примечания

Верхний колонтитул может содержать Параграф а также Стол дочерние узлы.

Верхний колонтитул является узлом уровня раздела и может быть только потомком Раздел . Может быть только один Верхний колонтитул или каждыйHeaderFooterType в Раздел.

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

Когда Верхний колонтитул содержит по крайней мере один Параграф, он больше не считается связанным с предыдущим в 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");

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