Vergleichen Sie Word-Dokumente und markieren Sie Unterschiede mit Java

Sie können ganz einfach zwei oder mehr Word-Dokumente vergleichen und die Unterschiede programmgesteuert hervorheben. Möglicherweise müssen Sie mehrere Versionen derselben Word-Datei oder verschiedener Dateien auf Unterschiede und Ähnlichkeiten in Ihrer Java-Anwendung vergleichen. In diesem Artikel erfahren Sie, wie Sie zwei oder mehr Word-Dokumente vergleichen und Unterschiede mit Java hervorheben.

Die folgenden Themen werden in diesem Artikel behandelt/behandelt:

Java-API zum Vergleichen von Word-Dokumenten

Ich werde GroupDocs.Comparison for Java API verwenden, um die DOCX-Dokumente zu vergleichen. Es vergleicht, um Inhaltsänderungen für Wörter, Absätze und Zeichen zu erkennen, und stellt gleichzeitig ein Vergleichsdokument bereit, das eine Zusammenfassung der Unterschiede auflistet. Es ermöglicht Ihnen auch, Änderungen und Unterschiede im Textstil zwischen ähnlichen Dokumentformaten zu erkennen. Die API unterstützt den Vergleich aller branchenüblichen Dokumentformate wie PDF, HTML, Word, Excel, PowerPoint, Outlook-E-Mails, Visio-Diagramme, OpenDocument, AutoCAD und Bilder.

Sie können das JAR der API herunterladen oder einfach die folgende pom.xml-Konfiguration in Ihrer Maven-basierten Java-Anwendung hinzufügen, um die unten aufgeführten Codebeispiele auszuprobieren.

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

Vergleichen Sie Word-Dokumente mit Java

Sie können zwei oder mehr Word-Dokumente vergleichen, indem Sie die folgenden einfachen Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Comparer.
  2. Stellen Sie dem Konstruktor den Quell-DOCX-Dateipfad bereit
  3. Hinzufügen Ziel-DOCX-Datei zum Vergleich
  4. Rufen Sie die Methode Compare() zusammen mit dem Ausgabedateipfad auf

Das folgende Codebeispiel zeigt, wie Word-Dokumente verglichen werden, und hebt die Unterschiede mit Java hervor.

// Vergleicher initialisieren
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// Zieldatei hinzufügen
comparer.add("C:\\Files\\target.docx");

// Vergleichsergebnisse vergleichen und speichern
comparer.compare("C:\\Files\\result.docx");
Quell- und Ziel-Word-Dokumente

Quell- und Zieldokumente

Vergleichen Sie zwei Word-Dokumente mit Java

Vergleichen Sie zwei Word-Dokumente mit Java

Das resultierende Dokument enthält auch eine Zusammenfassungsseite am Ende des Dokuments. Es zeigt die Zusammenfassung aller Änderungen.

Die Klasse Comparer ist die Hauptklasse, die den Dokumentvergleichsprozess steuert. Die Methode Compare() dieser Klasse vergleicht die Quell- und Zieldokumente. Diese Methode speichert Ergebnisse in dem als Eingabeparameter angegebenen Dateipfad. Die Methode Add() dieser Klasse fügt dem Vergleichsprozess eine Datei hinzu. Sie können dem Vergleich ganz einfach mehrere Dateien hinzufügen, indem Sie die Methode Add() wie unten gezeigt verwenden:

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

Holen Sie sich den Text der Änderungen mit Java

Sie können den Text der Änderungen programmgesteuert abrufen, indem Sie die folgenden einfachen Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Comparer.
  2. Stellen Sie dem Konstruktor den Quell-DOCX-Dateipfad bereit
  3. Hinzufügen Ziel-DOCX-Datei zum Vergleich
  4. Rufen Sie die Methode Compare() auf
  5. Rufen Sie die Methode getChanges() auf und rufen Sie die Details der Änderungen ab
  6. Zeigt die Änderungen an

Das folgende Codebeispiel zeigt, wie Sie den Text der Änderungen mit Java abrufen.

// Vergleicher initialisieren
Comparer vergleichenr = new Comparer("C:\\Files\\source.docx");

// Zieldatei hinzufügen
vergleichenr.add("C:\\Files\\target.docx");

// vergleichen
final Path resultPath = vergleichenr.vergleichen();

// Änderungen bekommen
ChangeInfo[] changes = vergleichenr.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] 

Sie können eine Liste der Änderungen zwischen Quell- und Zieldateien abrufen, indem Sie die Methode getChanges() der Klasse Comparer aufrufen. Es gibt eine Liste von ChangeInfo-Objekten zurück. Die ChangeInfo-Klasse stellt Methoden bereit, um Details der Änderungen abzurufen, z. B. getText(), um den Text einer bestimmten Änderung abzurufen.

Vergleichen Sie Lesezeichen in Word-Dokumenten

Sie können in Word-Dokumenten vorhandene Lesezeichen programmgesteuert vergleichen, indem Sie die folgenden einfachen Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Comparer.
  2. Stellen Sie dem Konstruktor den Quell-DOCX-Dateipfad bereit
  3. Hinzufügen Ziel-DOCX-Datei zum Vergleich
  4. Erstellen Sie eine Instanz von CompareOptions
  5. Setzen Sie CompareBookmarks auf „true“.
  6. Rufen Sie die Methode Compare() zusammen mit dem Ausgabedateipfad und dem CompareOptions-Objekt auf

Das folgende Codebeispiel zeigt, wie Lesezeichen in Word-Dokumenten mit Java verglichen werden.

// Vergleicher initialisieren
Comparer comparer = new Comparer("C:\\Files\\source.docx");

// Zieldatei hinzufügen
comparer.add("C:\\Files\\target.docx");

// Vergleichsoptionen definieren
CompareOptions compareOptions = new CompareOptions();
compareOptions.setCompareBookmarks(true);

// Vergleichsergebnisse vergleichen und speichern
comparer.compare("C:\\Files\\result.docx", compareOptions);
Vergleichen Sie Lesezeichen in Word-Dokumenten mit Java

Vergleichen Sie Lesezeichen in Word-Dokumenten mit Java

Sie können Ihren Vergleichsprozess verbessern, indem Sie verschiedene Vergleichsoptionen anwenden. Zu diesem Zweck können Sie mit der Klasse CompareOptions verschiedene Vergleichsoptionen festlegen, indem Sie verschiedene Methoden bereitstellen. Mit der Methode setCompareBookmarks() können Sie die in den Quell- und Zieldokumenten verfügbaren Lesezeichen vergleichen.

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie zwei oder mehr Word-Dokumente vergleichen und Unterschiede mit Java hervorheben. Sie haben auch gelernt, wie Sie den Text hervorgehobener Änderungen erhalten. Außerdem haben Sie gelernt, Lesezeichen in Word-Dokumenten programmgesteuert zu vergleichen. Weitere Informationen zu GroupDocs.Comparison for Java API finden Sie in der Dokumentation. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch