Сравнение документов

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

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

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

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

Ограничения и поддерживаемые форматы файлов

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

Общее ограничение для двух сравниваемых документов заключается в том, что они не должны иметь изменений перед вызовом метода compare, поскольку это ограничение существует в Microsoft Word.

Сравнение двух документов

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

Aspose.Words позволяет идентифицировать различия в документах с помощью метода Compare – это аналогично функции сравнения документов Microsoft Word. Позволяет проверять документы или их версии на предмет различий и изменений, включая изменения в форматировании, такие как изменение шрифта, изменение интервалов, добавление слов и абзацев.

В результате сравнения документы могут быть определены как равные или неравнозначные. Термин “равные” документы означает, что метод сравнения не позволяет представить изменения в виде ревизий. Это означает, что текст документа и форматирование текста одинаковы. Но между документами могут быть и другие различия. Например, Microsoft Word поддерживает только изменения формата для стилей, и вы не можете представлять вставку/удаление стилей. Таким образом, документы могут иметь разный набор стилей, и метод Compare по-прежнему не приводит к внесению изменений.

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

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

Укажите дополнительные параметры сравнения

Существует множество различных свойств класса CompareOptions, которые вы можете применить, когда захотите сравнить документы.

Например, Aspose.Words позволяет игнорировать изменения, внесенные во время операции сравнения для определенных типов объектов в исходном документе. Вы можете выбрать подходящее свойство для типа объекта, например IgnoreHeadersAndFooters, IgnoreFormatting, IgnoreComments, и другие, установив для них значение “true”.

Кроме того, Aspose.Words предоставляет свойство Granularity, с помощью которого вы можете указать, следует ли отслеживать изменения по символу или по слову.

Другим распространенным свойством является выбор того, в каком документе показывать изменения для сравнения. Например, в диалоговом окне “Сравнить документы” в Microsoft Word есть опция “Показывать изменения в” – это также влияет на результаты сравнения. Aspose.Words предоставляет свойство Target, которое служит для этой цели.

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