Vergelijk Word-documenten en markeer verschillen met behulp van Java

U kunt eenvoudig twee of meer Word-documenten vergelijken en de verschillen programmatisch markeren. Mogelijk moet u meerdere versies van hetzelfde Word-bestand of verschillende bestanden vergelijken op verschillen en overeenkomsten in uw Java-toepassing. In dit artikel leert u hoe u twee of meer Word-documenten kunt vergelijken en verschillen kunt markeren met Java. In dit artikel worden de volgende onderwerpen besproken/behandeld:

  • [Java API om Word-documenten te vergelijken][2]
  • [Vergelijk Word-documenten met Java][3]
  • [Tekst van de wijzigingen ophalen met Java][4]
  • [Bladwijzers in Word-documenten vergelijken][5]

Java API om Word-documenten te vergelijken

Ik zal [GroupDocs.Comparison for Java API][6] gebruiken om de [DOCX][7]-documenten te vergelijken. Het vergelijkt om inhoudswijzigingen voor woorden, alinea’s en tekens te detecteren en biedt tegelijkertijd een vergelijkingsdocument met een samenvatting van de verschillen. Het stelt u ook in staat veranderingen en verschillen in tekststijl tussen vergelijkbare documentindelingen te detecteren. De API ondersteunt het vergelijken van alle industriestandaard documentformaten zoals PDF, HTML, Word, Excel, PowerPoint, Outlook e-mails, Visio-diagrammen, OpenDocument, AutoCAD en afbeeldingen. Je kunt de JAR van de API [downloaden][8] of gewoon de volgende pom.xml configuratie toevoegen aan je op Maven gebaseerde Java-applicatie om de onderstaande codevoorbeelden te proberen.

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

Vergelijk Word-documenten met Java

U kunt twee of meer Word-documenten vergelijken door de onderstaande eenvoudige stappen te volgen:

  1. Maak een instantie van de klasse [Comparer][9]
  2. Geef het bron-DOCX-bestandspad door aan de constructor
  3. [Toevoegen][10] DOCX-doelbestand aan de vergelijking
  4. Roep de methode [Compare()][11] aan samen met het uitvoerbestandspad Het volgende codevoorbeeld laat zien hoe Word-documenten te vergelijken en benadrukt de verschillen met Java.
    Bron- en doel-Word-documenten

    Bron- en doeldocumenten

Vergelijk twee Word-documenten met behulp van Java

Vergelijk twee Word-documenten met behulp van Java

Het resulterende document bevat ook een overzichtspagina aan het einde van het document. Het toont het overzicht van alle wijzigingen. De klasse [Comparer][9] is de hoofdklasse die het proces voor het vergelijken van documenten regelt. De methode [Compare()][11] van deze klasse vergelijkt de bron- en doeldocumenten. Deze methode slaat de resultaten op in het bestandspad dat als invoerparameter is opgegeven. De methode [Add()][10] van deze klasse voegt een bestand toe aan het vergelijkingsproces. U kunt eenvoudig meerdere bestanden aan de vergelijking toevoegen door de methode Add() te gebruiken, zoals hieronder weergegeven:

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

Krijg tekst van de wijzigingen met behulp van Java

U kunt de tekst van de wijzigingen programmatisch verkrijgen door de onderstaande eenvoudige stappen te volgen:

  1. Maak een instantie van de klasse [Comparer][9]
  2. Geef het bron-DOCX-bestandspad door aan de constructor
  3. [Toevoegen][10] doel DOCX-bestand aan de vergelijking
  4. Roep de methode [Compare()][11] aan
  5. Roep de methode [getChanges()][14] aan en verkrijg de details van de wijzigingen
  6. Toon de wijzigingen Het volgende codevoorbeeld laat zien hoe u de tekst van de wijzigingen ophaalt met Java.
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] 

U kunt een lijst met wijzigingen tussen bron- en doelbestanden krijgen door de methode [getChanges()][14] van de klasse Comparer aan te roepen. Het retourneert een lijst met [ChangeInfo][15] objecten. De klasse ChangeInfo biedt methoden om details van de wijzigingen op te halen, zoals [getText()][16] om de tekst van een specifieke wijziging op te halen.

Vergelijk bladwijzers in Word-documenten

U kunt bladwijzers in Word-documenten programmatisch vergelijken door de onderstaande eenvoudige stappen te volgen:

  1. Maak een instantie van de klasse [Comparer][9]
  2. Geef het bron-DOCX-bestandspad door aan de constructor
  3. [Toevoegen][10] DOCX-doelbestand aan de vergelijking
  4. Maak een instantie van de [CompareOptions][17]
  5. Stel [CompareBookmarks][18] in op waar
  6. Roep de methode [Compare()][19] aan samen met het uitvoerbestandspad en het CompareOptions-object Het volgende codevoorbeeld laat zien hoe u bladwijzers in Word-documenten kunt vergelijken met Java.
    Vergelijk bladwijzers in Word-documenten met Java

    Vergelijk bladwijzers in Word-documenten met Java

U kunt uw vergelijkingsproces verbeteren door verschillende vergelijkingsopties toe te passen. Voor dit doel kunt u met de klasse [CompareOptions][17] verschillende vergelijkingsopties instellen door middel van verschillende methoden. Met de methode setCompareBookmarks() kunt u de beschikbare bladwijzers in de bron- en doeldocumenten vergelijken.

Ontvang een gratis licentie

U kunt de API uitproberen zonder evaluatiebeperkingen door [een gratis tijdelijke licentie][21] aan te vragen.

Conclusie

In dit artikel heb je geleerd twee of meer Word-documenten te vergelijken en verschillen te markeren met Java. Je hebt ook geleerd hoe je de tekst van gemarkeerde wijzigingen ophaalt. Bovendien heb je geleerd bladwijzers in Word-documenten te vergelijken programmatisch. U kunt meer leren over GroupDocs.Comparison voor Java API met behulp van de [documentatie][22]. Neem bij onduidelijkheden gerust contact met ons op via het [forum][23].

Zie ook