Ми вже обговорювали порівняння двох документів Word, навіть якщо вони були захищені паролем. Що робити, якщо є більше двох файлів для порівняння? У цій статті ми розглянемо, як порівняти кілька документів Word у Java. Далі ми навчимося приймати або відхиляти кожну з визначених змін, щоб отримати бажаний результат.

Порівняйте кілька документів Word, щоб знайти відмінності в Java

Нещодавня коротка серія статей уже розповідала про те, як Java:

До кінця цієї статті ви також добре зрозумієте, як:

Якщо ваше середовище розробки ще не готове до порівняння, давайте швидко його підготуємо.

Бібліотека Java для порівняння двох або більше документів Word – налаштування

Сподіваюся, ви вже знайомі з API Java для порівняння документів. Я буду використовувати той самий 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.

Створіть власну програму порівняння

Ось кілька важливих посилань, які допоможуть вам створити власну програму порівняння документів.

Функції | Документація | Довідка по API | Приклади роботи – вихідний код | Підтримка | Примітки до випуску

Дивись також