Porównaj dokumenty programu Word i wyróżnij różnice przy użyciu języka Java

Możesz łatwo porównać dwa lub więcej dokumentów programu Word i programowo podkreślić różnice. Może zaistnieć potrzeba porównania wielu wersji tego samego pliku programu Word lub różnych plików pod kątem różnic i podobieństw w aplikacji Java. W tym artykule dowiesz się, jak porównać dwa lub więcej dokumentów programu Word i podkreślić różnice za pomocą języka Java.

W tym artykule omówiono/omówiono następujące tematy:

API Java do porównywania dokumentów Word

Będę używać GroupDocs.Comparison for Java API do porównywania dokumentów DOCX. Porównuje, wykrywając zmiany treści słów, akapitów i znaków, jednocześnie udostępniając dokument porównawczy zawierający podsumowanie różnic. Umożliwia także wykrywanie zmian i różnic w stylu tekstu pomiędzy podobnymi formatami dokumentów. Interfejs API obsługuje porównywanie wszystkich standardowych formatów dokumentów, takich jak PDF, HTML, Word, Excel, PowerPoint, wiadomości e-mail programu Outlook, diagramy Visio, OpenDocument, AutoCAD i obrazy.

Możesz pobrać plik JAR interfejsu API lub po prostu dodać następującą konfigurację pom.xml do swojej aplikacji Java opartej na Maven, aby wypróbować poniższe przykłady kodu.

<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>21.6</version> 
</dependency>

Porównaj dokumenty programu Word przy użyciu języka Java

Możesz porównać dwa lub więcej dokumentów programu Word, wykonując proste kroki podane poniżej:

  1. Utwórz instancję klasy Comparer.
  2. Podaj ścieżkę źródłowego pliku DOCX do konstruktora
  3. Dodaj docelowy plik DOCX do porównania
  4. Wywołaj metodę Compare() wraz ze ścieżką do pliku wyjściowego

Poniższy przykładowy kod pokazuje, jak porównywać dokumenty programu Word i podkreśla różnice przy użyciu języka Java.

// zainicjuj funkcję porównującą
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// dodaj plik docelowy
comparer.add("C:\\Files\\target.docx");

// porównaj i zapisz wyniki porównania
comparer.compare("C:\\Files\\result.docx");
Źródłowe i docelowe dokumenty Word

Dokumenty źródłowe i docelowe

Porównaj dwa dokumenty Word przy użyciu języka Java

Porównaj dwa dokumenty Word przy użyciu języka Java

Dokument wynikowy zawiera także stronę podsumowującą na końcu dokumentu. Pokazuje podsumowanie wszystkich zmian.

Klasa Comparer jest klasą główną kontrolującą proces porównywania dokumentów. Metoda Compare() tej klasy porównuje dokumenty źródłowe i docelowe. Ta metoda zapisuje wyniki w ścieżce pliku podanej jako parametr wejściowy. Metoda Add() tej klasy dodaje plik do procesu porównania. Możesz łatwo dodać wiele plików do porównania, korzystając z metody Add(), jak pokazano poniżej:

comparer.Add("target2.docx");
comparer.Add("target3.docx");

Uzyskaj tekst zmian przy użyciu języka Java

Możesz uzyskać tekst zmian programowo, wykonując proste kroki podane poniżej:

  1. Utwórz instancję klasy Comparer.
  2. Podaj ścieżkę źródłowego pliku DOCX do konstruktora
  3. Dodaj docelowy plik DOCX do porównania
  4. Wywołaj metodę Compare().
  5. Wywołaj metodę getChanges() i uzyskaj szczegóły zmian
  6. Pokaż zmiany

Poniższy przykładowy kod pokazuje, jak uzyskać tekst zmian przy użyciu języka Java.

// zainicjuj funkcję porównującą
Comparer porównywaćr = new Comparer("C:\\Files\\source.docx");

// dodaj plik docelowy
porównywaćr.add("C:\\Files\\target.docx");

// porównywać
final Path resultPath = porównywaćr.porównywać();

// uzyskać zmiany
ChangeInfo[] changes = porównywaćr.getChanges();
System.out.println("Count of changes: " + changes.length);

for (ChangeInfo change : changes) {
    System.out.printf("Change Type: %d, Text: %s%n", change.getType(), change.getText());
}
Count of changes: 10
Change Type: 2, Text: 
Change Type: 2, Text:  Company  HYPERLINK "http://www.aspose.com/" Aspose Pty Ltd Division GroupDocs 
Change Type: 2, Text: 
Change Type: 2, Text: Cool 
Change Type: 3, Text: test 
Change Type: 2, Text:  
Change Type: 2, Text: signatures
Change Type: 2, Text: Our 
Change Type: 2, Text: char&#091;
Change Type: 2, Text: 255] 

Listę zmian pomiędzy plikami źródłowymi i docelowymi można uzyskać wywołując metodę getChanges() klasy Comparer. Zwraca listę obiektów ChangeInfo. Klasa ChangeInfo udostępnia metody umożliwiające uzyskanie szczegółów zmian, takie jak getText() w celu uzyskania tekstu określonej zmiany.

Porównaj zakładki w dokumentach programu Word

Możesz programowo porównać zakładki obecne w dokumentach Word, wykonując proste kroki podane poniżej:

  1. Utwórz instancję klasy Comparer.
  2. Podaj ścieżkę źródłowego pliku DOCX do konstruktora
  3. Dodaj docelowy plik DOCX do porównania
  4. Utwórz instancję CompareOptions
  5. Ustaw CompareBookmarks na true
  6. Wywołaj metodę Compare() wraz ze ścieżką do pliku wyjściowego i obiektem CompareOptions

Poniższy przykładowy kod pokazuje, jak porównać zakładki w dokumentach programu Word przy użyciu języka Java.

// zainicjuj funkcję porównującą
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// dodaj plik docelowy
comparer.add("C:\\Files\\target.docx");

// zdefiniuj opcje porównania
CompareOptions compareOptions = new CompareOptions();
compareOptions.setCompareBookmarks(true);

// porównaj i zapisz wyniki porównania
comparer.compare("C:\\Files\\result.docx", compareOptions);
Porównaj zakładki w dokumentach programu Word przy użyciu języka Java

Porównaj zakładki w dokumentach programu Word przy użyciu języka Java

Możesz usprawnić proces porównywania, stosując różne opcje porównywania. W tym celu klasa CompareOptions umożliwia ustawienie różnych opcji porównywania poprzez udostępnienie różnych metod. Metoda setCompareBookmarks() umożliwia porównanie zakładek dostępnych w dokumencie źródłowym i docelowym.

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak porównywać dwa lub więcej dokumentów programu Word i podkreślać różnice za pomocą języka Java. Nauczyłeś się także, jak uzyskać tekst podświetlonych zmian. Co więcej, nauczyłeś się programowo porównywać zakładki w dokumentach Word. Więcej informacji na temat GroupDocs.Comparison for Java API można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też