We hebben de vergelijking van twee Word-documenten al besproken, zelfs als ze met een wachtwoord waren beveiligd. Wat als er meer dan twee bestanden zijn om te vergelijken? In dit artikel bekijken we hoe u meerdere Word-documenten in Java kunt vergelijken. Verder zullen we leren hoe we elk van de geïdentificeerde wijzigingen kunnen accepteren of afwijzen om de gewenste output te krijgen.

Vergelijk meerdere Word-documenten om verschillen in Java te vinden

De recente korte reeks artikelen behandelde al de Java-manier om:

Aan het einde van dit artikel heb je ook een goed begrip van hoe je:

Als uw ontwikkelomgeving nog niet klaar is om de vergelijking uit te voeren, laten we deze dan snel voorbereiden.

Java-bibliotheek om twee of meer Word-documenten te vergelijken - Setup

Ik hoop dat je inmiddels bekend bent met de documentvergelijking Java API. Ik zal dezelfde GroupDocs.Comparison gebruiken om verder te gaan. U kunt de ontwikkelomgeving van uw maven-gebaseerde applicaties downloaden of snel controleren met behulp van de volgende configuraties:

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

Laten we nu naar het doel springen en beginnen met het vergelijken van meerdere Word-bestanden.

Vergelijk meer dan twee Word-bestanden in Java

Het vergelijken van meerdere bestanden verschilt niet zoveel van het vergelijken van slechts twee bestanden. Blijf gewoon meer bestanden toevoegen aan de Comparer en druk ten slotte op de vergelijking zoals u doet wanneer u twee bestanden vergelijkt. Hieronder volgen de stappen om meer dan twee Word-documenten in Java te vergelijken om de wijzigingen te identificeren en de gevonden verschillen te benadrukken.

  • Laad het eerste DOC/DOCX-bestand met de klasse Comparer.
  • Voeg het tweede bestand toe aan Comparer met behulp van de methode add().
  • Blijf meer document(en) aan de Comparer toevoegen met dezelfde/soortgelijke add()-methoden.
  • Roep de vergelijkingsmethode aan om de vergelijking uit te voeren en de samenvatting van geïdentificeerde wijzigingen op te halen.

Het volgende voorbeeld laat zien hoe u meerdere Word-bestanden in Java kunt vergelijken en de wijzigingen in het resulterende document kunt krijgen.

/*
 * Vergelijk meerdere Word-documenten
 */
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");
}

Accepteer of verwerp geïdentificeerde wijzigingen in Word-bestanden met behulp van Java

Vrij zeker dat u bekend bent met de track changes-functie van Microsoft Word. Op dezelfde manier kunt u elk van de geïdentificeerde wijzigingen voor het uiteindelijke uitvoerdocument programmatisch accepteren of afwijzen. De volgende stappen laten zien hoe u de geïdentificeerde wijzigingen in de DOC/DOCX-bestanden van Word-documenten kunt vergelijken en accepteren of weigeren.

  • Laad het bron-DOC/DOCX-document met behulp van de klasse Comparer.
  • Voeg het tweede Word-document toe aan de Comparer met behulp van de methode add().
  • Vergelijk de geladen bestanden met behulp van de methode Compare().
  • Haal de verzameling geïdentificeerde verschillen op met behulp van de getChanges()-methode.
  • Doorloop nu de wijzigingen, analyseer en vervolgens kunt u de ComparisonAction van elke wijziging dienovereenkomstig instellen.
    • Stel het in als Accepteren om akkoord te gaan met de wijziging.
    • Stel het in als Weigeren om de wijziging te weigeren.
  • Roep de methode applyChanges() aan om het gewijzigde document met omarmde wijzigingen op te halen.

Het volgende Java-codefragment vergelijkt twee DOCX-documenten en laat vervolgens zien hoe geïdentificeerde wijzigingen kunnen worden geaccepteerd en afgewezen.

/*
 * Vergelijk Word-documenten - Accepteer of verwerp wijzigingen in 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));
}

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen om meerdere Word-documenten te vergelijken.

Bouw uw eigen vergelijkingstoepassing

Hier zijn enkele belangrijke links die u zullen helpen bij het bouwen van uw eigen documentvergelijkingstoepassing.

Kenmerken | Documentatie | API-referentie | Running Voorbeelden – Broncode | Ondersteuning | Release-opmerkingen

Zie ook