Класс Aspose::Words::InlineStory

InlineStory class

Базовый класс для узлов уровня inline, которые могут содержать абзацы и таблицы. Чтобы узнать больше, посетите статью документации Logical Levels of Nodes in a Document.

class InlineStory : public Aspose::Words::CompositeNode,
                    public Aspose::Words::IInline,
                    public Aspose::Words::IStory

Методы

МетодОписание
virtual Accept(System::SharedPtr<Aspose::Words::DocumentVisitor>)Принимает посетителя.
virtual AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor>)Когда реализовано в производном классе, вызывает метод VisitXXXEnd указанного посетителя документа.
virtual AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor>)Когда реализовано в производном классе, вызывает метод VisitXXXStart указанного посетителя документа.
AppendChild(T)
Clone(bool)Создаёт дубликат узла.
EnsureMinimum()Если последний дочерний элемент не является абзацем, создаёт и добавляет один пустой абзац.
get_Count()Возвращает количество непосредственных дочерних элементов этого узла.
get_CustomNodeId() constУказывает пользовательский идентификатор узла.
virtual get_Document() constВозвращает документ, к которому принадлежит этот узел.
get_FirstChild() constВозвращает первого дочернего узла.
get_FirstParagraph() overrideВозвращает первый абзац в истории.
get_Font()Предоставляет доступ к форматированию шрифта символа‑якоря этого объекта.
get_HasChildNodes()Возвращает true, если у этого узла есть дочерние узлы.
get_IsComposite() overrideВозвращает true, поскольку этот узел может иметь дочерние узлы.
get_IsDeleteRevision()Возвращает true, если этот объект был удалён в Microsoft Word при включённом отслеживании изменений.
get_IsInsertRevision()Возвращает true, если этот объект был вставлен в Microsoft Word при включённом отслеживании изменений.
get_IsMoveFromRevision()Возвращает true, если этот объект был перемещён (удалён) в Microsoft Word при включённом отслеживании изменений.
get_IsMoveToRevision()Возвращает true, если этот объект был перемещён (вставлен) в Microsoft Word при включённом отслеживании изменений.
get_LastChild() constВозвращает последнего дочернего узла.
get_LastParagraph() overrideВозвращает последний абзац в истории.
get_NextNode() const
get_NextSibling()Возвращает узел, непосредственно следующий за этим узлом.
virtual get_NodeType() constВозвращает тип этого узла.
get_Paragraphs() overrideВозвращает коллекцию абзацев, которые являются непосредственными дочерними элементами истории.
get_ParentNode()Возвращает непосредственного родителя этого узла.
get_ParentParagraph()Получает родительский Paragraph этого узла.
get_PreviousSibling()Возвращает узел, непосредственно предшествующий этому узлу.
get_PrevNode() const
get_Range()Возвращает объект Range, представляющий часть документа, содержащуюся в этом узле.
virtual get_StoryType()Возвращает тип истории.
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
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_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()

Примечания

InlineStory is a container for block-level nodes Paragraph and Table.

Классы, наследующиеся от InlineStory, являются узлами уровня inline, которые могут содержать собственный текст (абзацы и таблицы). Например, узел Comment содержит текст комментария, а Footnote содержит текст сноски.

Примеры

Показывает, как вставлять и настраивать сноски.

auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);

// Добавьте текст и сослаться на него с помощью сноски. Эта сноска разместит небольшую надстрочную ссылку
// после текста, на который она ссылается, и создаст запись под основным текстом внизу страницы.
// Эта запись будет содержать маркер ссылки сноски и текст ссылки,
// которые мы передадим методу "InsertFootnote" построителя документа.
builder->Write(u"Main body text.");
System::SharedPtr<Aspose::Words::Notes::Footnote> footnote = builder->InsertFootnote(Aspose::Words::Notes::FootnoteType::Footnote, u"Footnote text.");

// Если это свойство установлено в "true", то маркер ссылки нашей сноски
// будет её индексом среди всех сносок раздела.
// Это первая сноска, поэтому её маркер будет "1".
ASSERT_TRUE(footnote->get_IsAuto());

// Мы можем переместить построитель документа внутрь сноски, чтобы отредактировать её текст ссылки.
builder->MoveTo(footnote->get_FirstParagraph());
builder->Write(u" More text added by a DocumentBuilder.");
builder->MoveToDocumentEnd();

ASSERT_EQ(u"\u0002 Footnote text. More text added by a DocumentBuilder.", footnote->GetText().Trim());

builder->Write(u" More main body text.");
footnote = builder->InsertFootnote(Aspose::Words::Notes::FootnoteType::Footnote, u"Footnote text.");

// Мы можем задать пользовательский маркер ссылки, который сноска будет использовать вместо своего порядкового номера.
footnote->set_ReferenceMark(u"RefMark");

ASSERT_FALSE(footnote->get_IsAuto());

// Закладка с флагом "IsAuto", установленным в true, всё равно покажет свой реальный индекс
// даже если предыдущие закладки отображают пользовательские маркеры, поэтому маркер этой закладки будет "3".
builder->Write(u" More main body text.");
footnote = builder->InsertFootnote(Aspose::Words::Notes::FootnoteType::Footnote, u"Footnote text.");

ASSERT_TRUE(footnote->get_IsAuto());

doc->Save(get_ArtifactsDir() + u"InlineStory.AddFootnote.docx");

Показывает, как добавить комментарий к абзацу.

auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
builder->Write(u"Hello world!");

auto comment = System::MakeObject<Aspose::Words::Comment>(doc, u"John Doe", u"JD", System::DateTime::get_Today());
builder->get_CurrentParagraph()->AppendChild<System::SharedPtr<Aspose::Words::Comment>>(comment);
builder->MoveTo(comment->AppendChild<System::SharedPtr<Aspose::Words::Paragraph>>(System::MakeObject<Aspose::Words::Paragraph>(doc)));
builder->Write(u"Comment text.");

ASSERT_EQ(System::DateTime::get_Today(), comment->get_DateTime());

// В Microsoft Word мы можем щёлкнуть правой кнопкой мыши этот комментарий в теле документа, чтобы отредактировать его или ответить на него.
doc->Save(get_ArtifactsDir() + u"InlineStory.AddComment.docx");

См. также