Aspose::Words::Comment class

Comment class

Представляет контейнер для текста комментария. Чтобы узнать больше, посетите статью документации Working with Comments.

class Comment : public Aspose::Words::InlineStory,
                public Aspose::Words::INodeWithAnnotationId,
                public Aspose::Words::Revisions::IMoveTrackableNode

Методы

МетодОписание
Accept(System::SharedPtr<Aspose::Words::DocumentVisitor>) overrideПринимает посетителя.
AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor>) overrideПринимает посетителя для посещения конца комментария.
AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor>) overrideПринимает посетителя для посещения начала комментария.
AddReply(const System::String&, const System::String&, System::DateTime, const System::String&)Добавляет ответ к этому комментарию.
AppendChild(T)
Clone(bool)Создаёт дубликат узла.
Comment(const System::SharedPtr<Aspose::Words::DocumentBase>&)Инициализирует новый экземпляр класса Comment.
Comment(const System::SharedPtr<Aspose::Words::DocumentBase>&, const System::String&, const System::String&, System::DateTime)Инициализирует новый экземпляр класса Comment.
EnsureMinimum()Если последний дочерний элемент не является абзацем, создаёт и добавляет один пустой абзац.
get_Ancestor()Возвращает родительский объект Comment. Возвращает null для комментариев верхнего уровня.
get_Author() constВозвращает или задает имя автора комментария.
get_Count()Возвращает количество непосредственных дочерних элементов этого узла.
get_CustomNodeId() constУказывает пользовательский идентификатор узла.
get_DateTime() constПолучает дату и время создания комментария.
get_DateTimeUtc()Получает дату и время UTC создания комментария.
virtual get_Document() constВозвращает документ, к которому принадлежит этот узел.
get_Done() constПолучает или задает флаг, указывающий, что комментарий помечен как выполненный.
get_FirstChild() constВозвращает первого дочернего узла.
get_FirstParagraph() overrideВозвращает первый абзац в истории.
get_Font()Предоставляет доступ к форматированию шрифта символа‑якоря этого объекта.
get_HasChildNodes()Возвращает true, если у этого узла есть дочерние узлы.
get_Id() constПолучает или задает идентификатор комментария.
get_Initial() constВозвращает или задает инициалы пользователя, связанного с конкретным комментарием.
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()Возвращает узел, непосредственно следующий за этим узлом.
get_NodeType() const overrideВозвращает Comment.
get_Paragraphs() overrideВозвращает коллекцию абзацев, которые являются непосредственными дочерними элементами истории.
get_ParentId() constПолучает идентификатор родительского комментария. Значение %-1 означает, что у комментария нет родителя.
get_ParentNode()Возвращает непосредственного родителя этого узла.
get_ParentParagraph()Получает родительский Paragraph этого узла.
get_PreviousSibling()Возвращает узел, непосредственно предшествующий этому узлу.
get_PrevNode() const
get_Range()Возвращает объект Range, представляющий часть документа, содержащуюся в этом узле.
get_Replies()Возвращает коллекцию объектов Comment, которые являются непосредственными дочерними элементами указанного комментария.
get_StoryType() overrideВозвращает Comments.
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()Удаляет все дочерние узлы текущего узла.
RemoveAllReplies()Удаляет все ответы на этот комментарий.
RemoveChild(T)
RemoveReply(const System::SharedPtr<Aspose::Words::Comment>&)Удаляет указанный ответ на этот комментарий.
RemoveSmartTags()Удаляет все дочерние узлы SmartTag текущего узла.
SelectNodes(const System::String&)Выбирает список узлов, соответствующих XPath-выражению.
SelectSingleNode(const System::String&)Выбирает первый Node, который соответствует выражению XPath.
set_Author(const System::String&)Сеттер для Aspose::Words::Comment::get_Author.
set_CustomNodeId(int32_t)Сеттер для Aspose::Words::Node::get_CustomNodeId.
set_DateTime(System::DateTime)Получает дату и время создания комментария.
set_Done(bool)Сеттер для Aspose::Words::Comment::get_Done.
set_Id(int32_t)Сеттер для Aspose::Words::Comment::get_Id.
set_Initial(const System::String&)Сеттер для Aspose::Words::Comment::get_Initial.
set_NextNode(const System::SharedPtr<Aspose::Words::Node>&)
set_ParentId(int32_t)Устанавливает идентификатор родительского комментария. Значение %-1 означает, что у комментария нет родителя.
set_PrevNode(const System::SharedPtr<Aspose::Words::Node>&)
SetParent(const System::SharedPtr<Aspose::Words::Node>&)
SetTemplateWeakPtr(uint32_t) override
SetText(const System::String&)Это удобный метод, позволяющий легко задать текст комментария.
ToString(Aspose::Words::SaveFormat)Экспортирует содержимое узла в строку в указанном формате.
ToString(const System::SharedPtr<Aspose::Words::Saving::SaveOptions>&)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.
static Type()

Примечания

Комментарий — это аннотация, привязанная к области текста или к позиции в тексте. Комментарий может содержать произвольное количество блочного контента.

Если объект Comment используется самостоятельно, комментарий привязывается к позиции объекта Comment.

Для привязки комментария к области текста требуются три объекта: Comment, CommentRangeStart и CommentRangeEnd. Все три объекта должны иметь одинаковое значение Id.

Comment is an inline-level node and can only be a child of Paragraph.

Comment can contain Paragraph and Table child nodes.

Примеры

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

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

auto comment = System::MakeObject<Aspose::Words::Comment>(doc, u"John Doe", u"J.D.", System::DateTime::get_Now());
comment->SetText(u"My comment.");

// Разместите комментарий в узле тела документа.
// Этот комментарий будет отображаться в месте своего абзаца,
// вне правого поля страницы и с пунктирной линией, соединяющей его с абзацем.
builder->get_CurrentParagraph()->AppendChild<System::SharedPtr<Aspose::Words::Comment>>(comment);

// Добавьте ответ, который будет отображаться под родительским комментарием.
comment->AddReply(u"Joe Bloggs", u"J.B.", System::DateTime::get_Now(), u"New reply");

// Комментарии и ответы являются узлами типа Comment.
ASSERT_EQ(2, doc->GetChildNodes(Aspose::Words::NodeType::Comment, true)->get_Count());

// Комментарии, которые не являются ответами на другие комментарии, являются "верхнего уровня". У них нет предшествующих комментариев.
ASSERT_TRUE(System::TestTools::IsNull(comment->get_Ancestor()));

// Ответы имеют предшествующий комментарий верхнего уровня.
ASPOSE_ASSERT_EQ(comment, comment->get_Replies()->idx_get(0)->get_Ancestor());

doc->Save(get_ArtifactsDir() + u"Comment.AddCommentWithReply.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");

См. также