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

Aspose.Words позволява на потребителите да работят с коментари. . коментари в документ в Aspose.Words са представени от Comment Клас. Използвайте също CommentRangeStart както и CommentRangeEnd класове за определяне на региона на текста, който следва да бъде свързан с коментар.

Добавяне на коментар

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

  1. Използване на Comment клас
  2. Използване на CommentRangeStart както и CommentRangeEnd класове

Следният пример с код показва как да се добави коментар към параграф, като се използва Comment клас:

Следният пример за код показва как да се добави коментар към параграф, използвайки регион на текст и CommentRangeStart както и CommentRangeEnd класове:

Извличане или премахване на коментари

Използването на коментари в Word документ (в допълнение към Track Changes) е обичайна практика при преглеждане на документи, особено когато има множество рецензенти. Може да има ситуации, в които единственото нещо, от което се нуждаете от документ са коментарите. Кажете, че искате да генерирате списък с констатации от прегледа, или може би сте събрали цялата полезна информация от документа и просто искате да премахнете ненужни коментари. Може да искате да видите или премахнете коментарите на определен рецензент.

В тази извадка ще разгледаме някои прости методи както за събиране на информация от коментарите в документ, така и за премахване на коментари от документ. Конкретно ще покрием как да:

  • Извличане на всички коментари от документ или само тези, направени от определен автор
  • Премахване на всички коментари от документ или само от определен автор

Как да извлечете или премахнете коментари

Кодът в тази проба всъщност е доста прост и всички методи се основават на един и същ подход. Коментар в Word документ е представен от Comment обект в Aspose.Words модел документ обект. За да съберете всички коментари в документ, използвайте GetChildNodes метод с първия параметър, определен за NodeType.Comment. Уверете се, че вторият параметър на GetChildNodes метод е настроен на true: това принуждава GetChildNodes да изберете от всички детски възли рекурсивно, а не само събиране на непосредствените деца.

За да илюстрираме как да извлечем и премахнем коментари от даден документ, ще минем през следните стъпки:

  1. Отваряне на Word документ с помощта на Document клас
  2. Вземете всички коментари от документа в колекция
  3. За да извлечете коментари:
    1. Претърсете колекцията с помощта на всеки оператор
    2. Извличане и изброяване на името на автора, датата и часа и текста на всички коментари
    3. Извличане и изброяване на името на автора, дата и час и текст на коментарите, написани от конкретен автор, в този случай авторът го прави
  4. Премахване на коментари:
    1. Преминавате назад през колекцията с помощта на оператора
    2. Премахване на коментари
  5. Запис на промените

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

На GetChildNodes метод е много полезен и можете да го използвате всеки път, когато имате нужда да получите списък на документи възли от всякакъв вид. Получената колекция не създава непосредствени режийни разходи, тъй като възлите се избират в тази колекция само когато изброявате или получавате данни в нея.

Следният пример за код показва как да се извлече името на автора, дата и час и текст на всички коментари в документа:

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

След като сте избрали Comment Трябва само да извлечеш нужната информация. В тази проба, авторите инициали, дата, час и обикновен текст на коментара се комбинират в един низ; можете да изберете да го съхранявате по някои други начини вместо това.

Претовареният метод, който извлича Коментарите от конкретен автор е почти същия, той просто проверява името на автора, преди да добави информацията в масива.

Следният пример за код показва как да се извлече името на автора, дата и час и текст на коментарите от посочения автор:

Как да премахнете коментари

Ако премахвате всички коментари, няма нужда да преминавате през колекцията, изтривайки коментарите един по един. Можете да ги премахнете като се обадите на Clear метод за събиране на коментари.

Следният пример за код показва как да премахнете всички коментари в документа:

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

Следният пример за код показва как да премахнете коментари от посочения автор:

Основната точка за подчертаване тук е използването на оператора. За разлика от простата екстракция, тук искате да изтриете коментар. Подходящ трик е да се итерира колекцията назад от последния коментар до първия. Причината за това, ако започнете от края и се движите назад, индексът на предходните елементи остава непроменен и можете да се върнете към първия елемент от колекцията.

Следният пример с код показва методите за извличане и отстраняване на коментари:

Как да премахнете коментар между коментарRangeStart и коментарRange End

Използване Aspose.Words Можете също така да премахнете коментари между CommentRangeStart както и CommentRangeEnd Възли.

Следният пример с код показва как да премахнете текста между CommentRangeStart както и CommentRangeEnd:

Добавяне или премахване на коментара

На AddReply методът добавя отговор на този коментар. Моля, имайте предвид, че поради съществуващото Microsoft В документа се допускат само 1 степен на отговор. С изключение на типа InvalidOperationException ще се повиши, ако този метод е призован за съществуващия коментар Отговор.

Можеш да използваш RemoveReply метод за премахване на посочения отговор на този коментар.

Следният пример за код показва как да се добави отговор на коментар и премахване на коментара отговор:

Отговор на коментара

На Replies имот връща колекция от Comment предмети, които са непосредствени деца на посочения коментар.

Следният пример за код показва как да се итератира чрез отговорите на коментара и ги решава: