Aspose::Words::HeaderFooter класс
HeaderFooter class
Представляет контейнер для текста верхнего или нижнего колонтитула раздела. Чтобы узнать больше, посетите статью документации Working with Headers and Footers.
class HeaderFooter : public Aspose::Words::Story
Методы
| Метод | Описание |
|---|---|
| Accept(System::SharedPtr<Aspose::Words::DocumentVisitor>) override | Принимает посетителя. |
| AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor>) override | Принимает посетителя для посещения конца заголовка. |
| AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor>) override | Принимает посетителя для посещения начала заголовка. |
| AppendChild(T) | |
| AppendParagraph(const System::String&) | Метод‑ярлык, который создает объект Paragraph с необязательным текстом и добавляет его в конец этого объекта. |
| Clone(bool) | Создаёт дубликат узла. |
| DeleteShapes() | Удаляет все фигуры из текста этой истории. |
| get_Count() | Возвращает количество непосредственных дочерних элементов этого узла. |
| get_CustomNodeId() const | Указывает пользовательский идентификатор узла. |
| virtual get_Document() const | Возвращает документ, к которому принадлежит этот узел. |
| get_FirstChild() const | Возвращает первого дочернего узла. |
| get_FirstParagraph() override | Возвращает первый абзац в истории. |
| get_HasChildNodes() | Возвращает true, если у этого узла есть дочерние узлы. |
| get_HeaderFooterType() | Получает тип этого заголовка/нижнего колонтитула. |
| get_IsComposite() override | Возвращает true, поскольку этот узел может иметь дочерние узлы. |
| get_IsHeader() | True, если этот объект HeaderFooter является заголовком. |
| get_IsLinkedToPrevious() | True, если этот заголовок или нижний колонтитул связан с соответствующим заголовком или нижним колонтитулом в предыдущем разделе. |
| get_LastChild() const | Возвращает последнего дочернего узла. |
| get_LastParagraph() override | Возвращает последний абзац в истории. |
| get_NextNode() const | |
| get_NextSibling() | Возвращает узел, непосредственно следующий за этим узлом. |
| get_NodeType() const override | Возвращает HeaderFooter. |
| get_Paragraphs() override | Возвращает коллекцию абзацев, которые являются непосредственными дочерними элементами истории. |
| get_ParentNode() | Возвращает непосредственного родителя этого узла. |
| get_ParentSection() | Получает родительский раздел этой истории. |
| get_PreviousSibling() | Возвращает узел, непосредственно предшествующий этому узлу. |
| get_PrevNode() const | |
| get_Range() | Возвращает объект Range, представляющий часть документа, содержащуюся в этом узле. |
| get_StoryType() override | Возвращает тип этой истории. |
| get_Tables() override | Возвращает коллекцию таблиц, которые являются непосредственными дочерними элементами истории. |
| GetAncestor(Aspose::Words::NodeType) | Получает первого предка указанного NodeType. |
| GetAncestorOf() | |
| GetChild(Aspose::Words::NodeType, int32_t, bool) | Возвращает N‑й дочерний узел, соответствующий указанному типу. |
| GetChildNodes(Aspose::Words::NodeType, bool) | Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу. |
| GetEnumerator() override | Обеспечивает поддержку итерации в стиле foreach по дочерним узлам этого узла. |
| GetText() override | Получает текст этого узла и всех его дочерних узлов. |
| GetType() const override | |
| HeaderFooter(const System::SharedPtr<Aspose::Words::DocumentBase>&, Aspose::Words::HeaderFooterType) | Создаёт новый заголовок или нижний колонтитул указанного типа. |
| IndexOf(const System::SharedPtr<Aspose::Words::Node>&) | Возвращает индекс указанного дочернего узла в массиве дочерних узлов. |
| InsertAfter(T, const System::SharedPtr<Aspose::Words::Node>&) | |
| InsertBefore(T, const System::SharedPtr<Aspose::Words::Node>&) | |
| Is(const System::TypeInfo&) const override | |
| IsAncestorNode(const System::SharedPtr<Aspose::Words::Node>&) | |
| NextPreOrder(const System::SharedPtr<Aspose::Words::Node>&) | Получает следующий узел согласно алгоритму обхода дерева в порядке предобхода. |
| static NodeTypeToString(Aspose::Words::NodeType) | Вспомогательный метод, преобразующий значение перечисления типа узла в удобочитаемую строку. |
| PrependChild(T) | |
| PreviousPreOrder(const System::SharedPtr<Aspose::Words::Node>&) | Получает предыдущий узел согласно алгоритму обхода дерева в порядке предобхода. |
| Remove() | Удаляет себя из родительского узла. |
| RemoveAllChildren() | Удаляет все дочерние узлы текущего узла. |
| RemoveChild(T) | |
| RemoveSmartTags() | Удаляет все дочерние узлы SmartTag текущего узла. |
| SelectNodes(const System::String&) | Выбирает список узлов, соответствующих XPath-выражению. |
| SelectSingleNode(const System::String&) | Выбирает первый Node, который соответствует выражению XPath. |
| set_CustomNodeId(int32_t) | Сеттер для Aspose::Words::Node::get_CustomNodeId. |
| set_IsLinkedToPrevious(bool) | Сеттер для Aspose::Words::HeaderFooter::get_IsLinkedToPrevious. |
| set_NextNode(const System::SharedPtr<Aspose::Words::Node>&) | |
| set_PrevNode(const System::SharedPtr<Aspose::Words::Node>&) | |
| SetParent(const System::SharedPtr<Aspose::Words::Node>&) | |
| SetTemplateWeakPtr(uint32_t) override | |
| ToString(Aspose::Words::SaveFormat) | Экспортирует содержимое узла в строку в указанном формате. |
| ToString(const System::SharedPtr<Aspose::Words::Saving::SaveOptions>&) | Экспортирует содержимое узла в строку, используя указанные параметры сохранения. |
| static Type() |
Примечания
HeaderFooter can contain Paragraph and Table child nodes.
HeaderFooter is a section-level node and can only be a child of Section. There can only be one HeaderFooter of each HeaderFooterType in a Section.
Если у Section нет HeaderFooter определённого типа или у HeaderFooter нет дочерних узлов, этот заголовок/нижний колонтитул считается связанным с заголовком/нижним колонтитулом того же типа в предыдущем разделе в Microsoft Word.
Когда HeaderFooter содержит хотя бы один Paragraph, он больше не считается связанным с предыдущим в Microsoft Word.
Примеры
Показывает, как создать заголовок и нижний колонтитул.
auto doc = System::MakeObject<Aspose::Words::Document>();
// Создайте заголовок и добавьте к нему абзац. Текст в этом абзаце
// будет отображаться в верхней части каждой страницы этого раздела, над основным текстом.
auto header = System::MakeObject<Aspose::Words::HeaderFooter>(doc, Aspose::Words::HeaderFooterType::HeaderPrimary);
doc->get_FirstSection()->get_HeadersFooters()->Add(header);
System::SharedPtr<Aspose::Words::Paragraph> para = header->AppendParagraph(u"My header.");
ASSERT_TRUE(header->get_IsHeader());
ASSERT_TRUE(para->get_IsEndOfHeaderFooter());
// Создайте нижний колонтитул и добавьте к нему абзац. Текст в этом абзаце
// будет отображаться в нижней части каждой страницы этого раздела, под основным текстом.
auto footer = System::MakeObject<Aspose::Words::HeaderFooter>(doc, Aspose::Words::HeaderFooterType::FooterPrimary);
doc->get_FirstSection()->get_HeadersFooters()->Add(footer);
para = footer->AppendParagraph(u"My footer.");
ASSERT_FALSE(footer->get_IsHeader());
ASSERT_TRUE(para->get_IsEndOfHeaderFooter());
ASPOSE_ASSERT_EQ(footer, para->get_ParentStory());
ASPOSE_ASSERT_EQ(footer->get_ParentSection(), para->get_ParentSection());
ASPOSE_ASSERT_EQ(footer->get_ParentSection(), header->get_ParentSection());
doc->Save(get_ArtifactsDir() + u"HeaderFooter.Create.docx");
Показывает, как удалить все нижние колонтитулы из документа.
auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Header and footer types.docx");
// Пройдите по каждому разделу и удалите все типы нижних колонтитулов.
for (auto&& section : System::IterateOver(doc->LINQ_OfType<System::SharedPtr<Aspose::Words::Section> >()))
{
// Существует три типа нижних и верхних колонтитулов.
// 1 - "First" заголовок/нижний колонтитул, который отображается только на первой странице раздела.
System::SharedPtr<Aspose::Words::HeaderFooter> footer = section->get_HeadersFooters()->idx_get(Aspose::Words::HeaderFooterType::FooterFirst);
System::SharedPtr<Aspose::Words::HeaderFooter> condExpression = footer;
if (condExpression != nullptr)
{
condExpression->Remove();
}
// 2 - "Primary" заголовок/нижний колонтитул, который отображается на нечётных страницах.
footer = section->get_HeadersFooters()->idx_get(Aspose::Words::HeaderFooterType::FooterPrimary);
System::SharedPtr<Aspose::Words::HeaderFooter> condExpression2 = footer;
if (condExpression2 != nullptr)
{
condExpression2->Remove();
}
// 3 - "Even" заголовок/нижний колонтитул, который отображается на чётных страницах.
footer = section->get_HeadersFooters()->idx_get(Aspose::Words::HeaderFooterType::FooterEven);
System::SharedPtr<Aspose::Words::HeaderFooter> condExpression3 = footer;
if (condExpression3 != nullptr)
{
condExpression3->Remove();
}
ASSERT_EQ(0, section->get_HeadersFooters()->LINQ_Count(static_cast<System::Func<System::SharedPtr<Aspose::Words::Node>, bool>>(static_cast<std::function<bool(System::SharedPtr<Aspose::Words::Node> hf)>>([](System::SharedPtr<Aspose::Words::Node> hf) -> bool
{
return !(System::ExplicitCast<Aspose::Words::HeaderFooter>(hf))->get_IsHeader();
}))));
}
doc->Save(get_ArtifactsDir() + u"HeaderFooter.RemoveFooters.docx");
Показывает, как заменить текст в нижнем колонтитуле документа.
auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Footer.docx");
System::SharedPtr<Aspose::Words::HeaderFooterCollection> headersFooters = doc->get_FirstSection()->get_HeadersFooters();
System::SharedPtr<Aspose::Words::HeaderFooter> footer = headersFooters->idx_get(Aspose::Words::HeaderFooterType::FooterPrimary);
auto options = System::MakeObject<Aspose::Words::Replacing::FindReplaceOptions>();
options->set_MatchCase(false);
options->set_FindWholeWordsOnly(false);
int32_t currentYear = System::DateTime::get_Now().get_Year();
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", System::String::Format(u"Copyright (C) {0} by Aspose Pty Ltd.", currentYear), options);
doc->Save(get_ArtifactsDir() + u"HeaderFooter.ReplaceText.docx");
См. также
- Class Story
- Namespace Aspose::Words
- Library Aspose.Words for C++