Работа с комментариями

Aspose.Words позволяет пользователям работать с комментариями - комментариями в документе Aspose.Words представлены в виде Comment класс. Также используйте CommentRangeStart и CommentRangeEnd классы для указания области текста, которая должна быть связана с комментарием.

Добавить комментарий

Aspose.Words позволяет добавлять комментарии несколькими способами:

  1. Используя Comment класс
  2. Используя CommentRangeStart и CommentRangeEnd классы

Следующий пример кода показывает, как добавить комментарий к абзацу, используя Comment класс:

Следующий пример кода показывает, как добавить комментарий к абзацу, используя область текста и CommentRangeStart и CommentRangeEnd классы:

Извлечение или удаление комментариев

Использование комментариев в документе Word (в дополнение к изменениям трека) является обычной практикой при рассмотрении документов, особенно когда есть несколько рецензентов. Могут быть ситуации, когда единственное, что вам нужно от документа, это комментарии. Скажем, вы хотите создать список результатов обзора, или, возможно, вы собрали всю полезную информацию из документа, и вы просто хотите удалить ненужные комментарии. Вы можете просмотреть или удалить комментарии конкретного рецензента.

В этой выборке мы рассмотрим некоторые простые методы как для сбора информации из комментариев в документе, так и для удаления комментариев из документа. В частности, мы рассмотрим, как:

  • Извлеките все комментарии из документа или только те, которые сделаны конкретным автором
  • Удалить все комментарии из документа или только от конкретного автора

Как извлечь или удалить комментарии

Код в этой выборке на самом деле довольно прост, и все методы основаны на одном и том же подходе. Комментарий в документе Word представляет собой Comment объект в Aspose.Words Модель объекта документа. Чтобы собрать все комментарии в документе, используйте GetChildNodes Метод с первым параметром, установленным для NodeType.Comment. Убедитесь, что второй параметр GetChildNodes метод устанавливается trueЭто заставляет GetChildNodes Рекурсивно выбирать из всех узлов ребенка, а не только собирать детей.

Чтобы проиллюстрировать, как извлечь и удалить комментарии из документа, мы рассмотрим следующие шаги:

  1. Откройте документ Word, используя Document класс
  2. Получить все комментарии из документа в сборник
  3. Чтобы извлечь комментарии: 1.Пройти сбор с помощью оператора foreach 2. Извлеките и перечислите имя автора, дату и время и текст всех комментариев 3. Извлеките и перечислите имя автора, дату и время и текст комментариев, написанных конкретным автором, в этом случае автор “k”
  4. Чтобы удалить комментарии: 1.Перейти назад через сбор с помощью оператора 2. Удалить комментарии
  5. Сохранить изменения

Как извлечь все комментарии

The GetChildNodes Метод очень полезен, и вы можете использовать его каждый раз, когда вам нужно получить список узлов документов любого типа. Полученная коллекция не создает непосредственных накладных расходов, потому что узлы выбираются в эту коллекцию только тогда, когда вы перечисляете или получаете доступ к элементам в ней.

Следующий пример кода показывает, как извлечь имя автора, дату и время и текст всех комментариев в документе:

Как извлечь комментарии конкретного автора

После того, как вы выбрали Comment Все, что вам нужно сделать, это извлечь необходимую информацию. В этом образце инициалы автора, дата, время и простой текст комментария объединены в одну строку; вместо этого вы можете сохранить его другими способами.

Перегруженный метод, который извлекает комментарии от конкретного автора, почти такой же, он просто проверяет имя автора, прежде чем добавлять информацию в массив.

Следующий пример кода показывает, как извлечь имя автора, дату и время и текст комментариев указанного автора:

Как удалить комментарии

Если вы удаляете все комментарии, нет необходимости перемещаться по коллекции, удаляя комментарии один за другим. Вы можете удалить их, позвонив Clear метод сбора комментариев.

Следующий пример кода показывает, как удалить все комментарии в документе:

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

Следующий пример кода показывает, как удалить комментарии указанного автора:

Главным моментом здесь является использование оператора. В отличие от простого извлечения, здесь вы хотите удалить комментарий. Подходящим трюком является повторение коллекции назад от последнего комментария к первому. Причина этого, если вы начинаете с конца и двигаетесь назад, индекс предыдущих пунктов остается неизменным, и вы можете вернуться к первому пункту в коллекции.

Следующий пример кода показывает методы извлечения и удаления комментариев:

Как удалить комментарий между CommentRangeStart и CommentRangeEnd

Использовать Aspose.Words Вы также можете удалить комментарии между CommentRangeStart и CommentRangeEnd Узлы.

Следующий пример кода показывает, как удалить текст между CommentRangeStart и CommentRangeEnd:

Добавить или удалить комментарий

The AddReply Метод добавляет ответ на этот комментарий. Обратите внимание, что благодаря существующему Microsoft В документе допускается ограничение только на 1 уровень ответов. Исключение из вида InvalidOperationException будет поднято, если этот метод будет вызван существующим комментарием Ответ.

Вы можете использовать RemoveReply Способ удаления указанного ответа на данный комментарий.

Следующий пример кода показывает, как добавить ответ на комментарий и удалить ответ комментария:

Read Comment’s Ответ

The Replies Имущество возвращает коллекцию Comment объекты, являющиеся непосредственными детьми указанного комментария.

Следующий пример кода показывает, как повторить ответы комментария и решить их: