Мы уже обсуждали сравнение двух документов Word, даже если они были защищены паролем. Что делать, если есть более двух файлов для сравнения? В этой статье мы рассмотрим, как сравнить несколько документов Word в Java. Далее мы узнаем, как принять или отклонить каждое из выявленных изменений, чтобы получить желаемый результат.

Сравните несколько документов Word, чтобы найти различия в Java

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

К концу этой статьи вы также будете хорошо понимать, как:

Если ваша среда разработки еще не готова к выполнению сравнения, давайте быстро ее подготовим.

Библиотека Java для сравнения двух или более документов Word — установка

Надеюсь, вы уже знакомы с Java API для сравнения документов. Я буду использовать тот же GroupDocs.Comparison, чтобы двигаться дальше. Вы можете скачать или быстро проверить среду разработки ваших приложений на основе maven, используя следующие конфигурации:

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>22.3</version> 
</dependency>

Теперь давайте перейдем к цели и начнем со сравнения нескольких файлов Word.

Сравните более двух файлов Word в Java

Сравнение нескольких файлов ничем не отличается от сравнения только двух файлов. Просто продолжайте добавлять файлы в Comparer и, наконец, нажмите «Сравнить», как вы делаете это при сравнении двух файлов. Ниже приведены шаги для сравнения более двух документов Word на Java, чтобы определить изменения и выделить найденные различия.

  • Загрузите первый файл DOC/DOCX, используя класс Comparer.
  • Добавьте второй файл в Comparer с помощью метода add().
  • Продолжайте добавлять дополнительные документы в Comparer, используя те же/похожие методы add().
  • Вызовите метод сравнения, чтобы выполнить сравнение и получить сводку выявленных изменений.

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

/*
 * Сравните несколько документов Word
 */
try (Comparer comparer = new Comparer("path/document-1.docx")) {
    comparer.add("path/document-2.docx");
    comparer.add("path/document-3.docx");
    final Path resultPath = comparer.compare("path/compared-result.docx");
}

Принять или отклонить выявленные изменения в файлах Word с помощью Java

Уверен, что вы знакомы с функцией отслеживания изменений в Microsoft Word. Точно так же вы можете программно принять или отклонить каждое из идентифицированных изменений для конечного выходного документа. Следующие шаги показывают, как вы можете сравнить, а затем принять или отклонить выявленные изменения в файлах DOC/DOCX документов Word.

  • Загрузите исходный документ DOC/DOCX, используя класс Comparer.
  • Добавьте второй документ Word в Comparer с помощью метода add().
  • Сравните загруженные файлы с помощью метода compare().
  • Получить набор выявленных различий с помощью метода getChanges().
  • Теперь просмотрите изменения, проанализируйте, а затем вы можете соответствующим образом установить ComparisonAction для каждого изменения.
    • Установите его как «Принять», чтобы согласиться с изменением.
    • Установите его как Отклонить, чтобы отклонить изменение.
  • Вызовите метод applyChanges(), чтобы получить измененный документ с включенными изменениями.

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

/*
 * Сравните документы Word — примите или отклоните изменения в Java
 */
try (Comparer comparer = new Comparer("path/document-1.docx")) {
    comparer.add("path/document-2.docx");
    
    final Path resultPath = comparer.compare("path/compared-result.docx");
    ChangeInfo[] changes = comparer.getChanges();

    changes[0].setComparisonAction(ComparisonAction.REJECT);
    changes[1].setComparisonAction(ComparisonAction.ACCEPT);
    comparer.applyChanges(resultPath, new ApplyChangeOptions(changes));
}

Получите бесплатную лицензию API

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

Создайте собственное приложение для сравнения

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

Функции | Documentation | API Reference | Running Examples – Source Code | Support | Release Notes

Смотрите также