Отслеживать изменения в документе

Функция отслеживания изменений, также известная как проверка, позволяет отслеживать изменения в содержании и форматировании, внесенные вами или другими пользователями. Эта функция отслеживания изменений с помощью Aspose.Words поддерживает отслеживание изменений в Microsoft Word. С помощью этой функции вы можете получить доступ к отдельным редакциям вашего документа и применить к ним различные свойства.

Когда вы включите функцию отслеживания изменений, все вставленные, удаленные и измененные элементы документа будут визуально выделены с информацией о том, кем, когда и что было изменено. Объекты, которые содержат информацию о том, что было изменено, называются “отслеживаемыми изменениями”. Например, предположим, что вы хотите просмотреть документ и внести в него важные изменения – это может означать, что вам необходимо внести правки. Кроме того, вам может потребоваться вставить комментарии для обсуждения некоторых изменений. Вот где пригодится отслеживание изменений в документах.

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

Что такое Пересмотр

Прежде чем перейти к рассмотрению изменений, давайте объясним значение изменений. revision - это изменение, которое происходит в одном узле документа, в то время как группа изменений, представленная классом RevisionGroup, представляет собой группу последовательных изменений, которые происходят во многих узлах документа. По сути, ревизия - это инструмент для отслеживания изменений.

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

Aspose.Words поддерживает различные типы редакций, как и в Microsoft Word, такие как Вставка, удаление, изменение формата, изменение стиля и перемещение. Все типы редакций представлены перечислением RevisionType.

Запуск и остановка отслеживания изменений

Редактирование документа обычно не считается доработкой, пока вы не начнете его отслеживать. Aspose.Words позволяет автоматически отслеживать все изменения в документе с помощью простых шагов. Вы можете легко запустить процесс отслеживания изменений, используя метод StartTrackRevisions. Если вам нужно остановить процесс отслеживания изменений, чтобы любые будущие правки не считались ревизиями, вам нужно будет использовать метод StopTrackRevisions.

В конце процесса отслеживания изменений в вашем документе у вас будет возможность даже принять все изменения или отклонить их, чтобы вернуть документ к его первоначальному виду. Этого можно достичь, используя метод AcceptAllRevisions или RejectAll. Кроме того, вы можете принять или отклонить каждую редакцию отдельно, используя метод Accept или Reject.

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

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

В следующем примере кода показано, как генерируются изменения при перемещении узла в отслеживаемом документе:

Управление изменениями и их хранение в виде ревизий

С помощью функции отслеживания предыдущих изменений вы можете понять, какие изменения были внесены в ваш документ и кто внес эти изменения. В то время как с помощью функции TrackRevisions вы принудительно сохраняете любые изменения в вашем документе в виде ревизий.

Aspose.Words позволяет проверить, есть ли в документе редакция или нет, используя свойство HasRevision. Если вам не нужно автоматически отслеживать изменения в вашем документе с помощью методов StartTrackRevisions и StopTrackRevisions, вы можете использовать свойство TrackRevisions, чтобы проверить, отслеживаются ли изменения при редактировании документа в Microsoft Word и сохраняются ли они в виде изменений.

Функция TrackRevisions вносит правки вместо реальных изменений DOM. Но сами правки являются отдельными. Например, если вы удаляете какой-либо абзац, Aspose.Words внесите его в качестве правки, пометив как удаленный, вместо того, чтобы удалять его.

Кроме того, Aspose.Words позволяет проверить, был ли объект вставлен, удален или изменено форматирование, используя свойства IsDeleteRevision, IsFormatRevision, IsInsertRevision, IsMoveFromRevision, и IsMoveToRevision.

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