Omówiliśmy już porównanie dwóch dokumentów programu Word, nawet jeśli były one chronione hasłem. Co jeśli są więcej niż dwa pliki do porównania? W tym artykule przyjrzymy się, jak porównać wiele dokumentów Worda w Javie. Ponadto nauczymy się, jak zaakceptować lub odrzucić każdą ze zidentyfikowanych zmian, aby uzyskać pożądany wynik.

Porównaj wiele dokumentów programu Word, aby znaleźć różnice w Javie

Ostatnia krótka seria artykułów dotyczyła już sposobu Java, jak:

Pod koniec tego artykułu będziesz również dobrze rozumieć, jak:

Jeśli Twoje środowisko programistyczne nie jest jeszcze gotowe do przeprowadzenia porównania, szybko je przygotujmy.

Biblioteka Java do porównywania dwóch lub więcej dokumentów Word – konfiguracja

Mam nadzieję, że jesteś już zaznajomiony z java API porównywania dokumentów. Będę używać tego samego GroupDocs.Comparison, aby przejść dalej. Możesz pobrać lub szybko sprawdzić środowisko programistyczne swoich aplikacji opartych na maven, korzystając z następujących konfiguracji:

<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>

Przejdźmy teraz do celu i zacznijmy od porównania wielu plików Worda.

Porównaj więcej niż dwa pliki Word w Javie

Porównywanie wielu plików nie różni się tak bardzo od porównywania tylko dwóch plików. Po prostu dodawaj więcej plików do Porównywarki, a na koniec kliknij porównanie, tak jak porównujesz dwa pliki. Poniżej przedstawiono kroki, aby porównać więcej niż dwa dokumenty programu Word w Javie, aby zidentyfikować zmiany i podkreślić znalezione różnice.

  • Załaduj pierwszy plik DOC/DOCX, używając klasy Comparer.
  • Dodaj drugi plik do Comparera za pomocą metody add().
  • Kontynuuj dodawanie kolejnych dokumentów do Porównywarki przy użyciu tych samych/podobnych metod add().
  • Wywołaj metodę porównania, aby wykonać porównanie i uzyskać podsumowanie zidentyfikowanych zmian.

Poniższy przykład pokazuje, jak porównać wiele plików programu Word w Javie i uzyskać zmiany w wynikowym dokumencie.

/*
 * Porównaj wiele dokumentów programu 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");
}

Zaakceptuj lub odrzuć zidentyfikowane zmiany w plikach programu Word przy użyciu języka Java

Jestem pewien, że znasz funkcję śledzenia zmian w programie Microsoft Word. Podobnie możesz programowo zaakceptować lub odrzucić każdą ze zidentyfikowanych zmian w ostatecznym dokumencie wyjściowym. Poniższe kroki pokazują, jak można porównać, a następnie zaakceptować lub odrzucić zidentyfikowane zmiany w plikach DOC/DOCX dokumentów programu Word.

  • Załaduj źródłowy dokument DOC/DOCX za pomocą klasy Comparer.
  • Dodaj drugi dokument programu Word do porównania za pomocą metody add().
  • Porównaj załadowane pliki za pomocą metody Compare().
  • Pobierz kolekcję zidentyfikowanych różnic za pomocą metody getChanges().
  • Teraz przejrzyj zmiany, przeanalizuj, a następnie możesz odpowiednio ustawić ComparisonAction każdej zmiany.
    • Ustaw jako Akceptuj, aby zaakceptować zmianę.
    • Ustaw jako Odrzuć, aby odrzucić zmianę.
  • Wywołaj metodę applyChanges() w celu uzyskania zmodyfikowanego dokumentu z przyjętymi zmianami.

Poniższy fragment kodu Java porównuje dwa dokumenty DOCX, a następnie pokazuje, jak zaakceptować i odrzucić zidentyfikowane zmiany.

/*
 * Porównaj dokumenty programu Word — zaakceptuj lub odrzuć zmiany w Javie
 */
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));
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z interfejsu API bez ograniczeń ewaluacyjnych w celu porównywania wielu dokumentów programu Word.

Zbuduj własną aplikację porównawczą

Oto kilka ważnych linków, które pomogą Ci w zbudowaniu własnej aplikacji do porównywania dokumentów.

Cechy | Dokumentacja | Odniesienie do interfejsu API | Uruchomione przykłady – kod źródłowy | Wsparcie | Uwagi do wydania

Zobacz też