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

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. Уверете се, че вторият параметър на get ChildNodes метод е настроен на true: това принуждава get ChildNodes да изберете от всички детски възли рекурсивно, а не само събиране на непосредствените деца.

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

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

Ще използваме следния Word документ за това упражнение:

extract-remove-comments-aspose-words-java-1

Както можете да видите, тя съдържа няколко коментара от двама автори с инициалите готварски и други.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

extract-remove-comments-aspose-words-java-2

Изходният документ на Word вече е изтрит от него:

extract-remove-comments-aspose-words-java-3

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

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

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

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

На addReply методът добавя отговор на този коментар. Моля, имайте предвид, че поради съществуващите ограничения на Службата на държавите членки в документа се допуска само едно (1) ниво на отговорите. С изключение на типа Invaluation Exception ще бъде повдигнат, ако този метод се нарича на съществуващия коментар Отговор.

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

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

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

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

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