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.
Ostatnia krótka seria artykułów dotyczyła już sposobu Java, jak:
- Wykonaj podstawowe porównanie dwóch dokumentów programu Word
- Porównaj chronione hasłem dokumenty programu Word
Pod koniec tego artykułu będziesz również dobrze rozumieć, jak:
- Porównanie więcej niż dwóch plików Worda w Javie
- Zaakceptuj lub odrzuć zidentyfikowane zmiany w plikach Word w Javie
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