Aspose::Words::HeaderFooterCollection класс
Содержание
[
Скрывать
]HeaderFooterCollection class
Предоставляет типизированный доступ к узлам HeaderFooter раздела Section. Чтобы узнать больше, посетите статью документации Working with Headers and Footers.
class HeaderFooterCollection : public Aspose::Words::NodeCollection
Методы
| Метод | Описание |
|---|---|
| Add(const System::SharedPtr<Aspose::Words::Node>&) | Добавляет узел в конец коллекции. |
| Clear() | Удаляет все узлы из этой коллекции и из документа. |
| Contains(const System::SharedPtr<Aspose::Words::Node>&) | Определяет, находится ли узел в коллекции. |
| get_Count() | Получает количество узлов в коллекции. |
| GetEnumerator() override | Предоставляет простую итерацию в стиле “foreach” по коллекции узлов. |
| GetType() const override | |
| idx_get(int32_t) | Получает HeaderFooter по заданному индексу. |
| idx_get(Aspose::Words::HeaderFooterType) | Получает HeaderFooter указанного типа. |
| IndexOf(const System::SharedPtr<Aspose::Words::Node>&) | Возвращает нулевой индекс указанного узла. |
| Insert(int32_t, const System::SharedPtr<Aspose::Words::Node>&) | Вставляет узел в коллекцию по указанному индексу. |
| Is(const System::TypeInfo&) const override | |
| LinkToPrevious(bool) | Связывает или разрывает связь всех заголовков и нижних колонтитулов с соответствующими заголовками и нижними колонтитулами в предыдущем разделе. |
| LinkToPrevious(Aspose::Words::HeaderFooterType, bool) | Связывает или разрывает связь указанного заголовка или нижнего колонтитула с соответствующим заголовком или нижним колонтитулом в предыдущем разделе. |
| Remove(const System::SharedPtr<Aspose::Words::Node>&) | Удаляет узел из коллекции и из документа. |
| RemoveAt(int32_t) | Удаляет узел по указанному индексу из коллекции и из документа. |
| ToArray() | Копирует все HeaderFooters из коллекции в новый массив HeaderFooters. |
| static Type() |
Примечания
Максимум может быть один HeaderFooter
для каждого HeaderFooterType в каждом Section.
HeaderFooter objects can occur in any order in the collection.
Примеры
Показывает, как создать заголовок и нижний колонтитул.
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");
См. также
- Class NodeCollection
- Namespace Aspose::Words
- Library Aspose.Words for C++