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:
- Maak een instantie van de klasse [Comparer][9]
- Geef het bron-DOCX-bestandspad door aan de constructor
- [Toevoegen][10] DOCX-doelbestand aan de vergelijking
- 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.
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:
- Maak een instantie van de klasse [Comparer][9]
- Geef het bron-DOCX-bestandspad door aan de constructor
- [Toevoegen][10] doel DOCX-bestand aan de vergelijking
- Roep de methode [Compare()][11] aan
- Roep de methode [getChanges()][14] aan en verkrijg de details van de wijzigingen
- 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[
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:
- Maak een instantie van de klasse [Comparer][9]
- Geef het bron-DOCX-bestandspad door aan de constructor
- [Toevoegen][10] DOCX-doelbestand aan de vergelijking
- Maak een instantie van de [CompareOptions][17]
- Stel [CompareBookmarks][18] in op waar
- 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.
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
- [Vergelijk afbeeldingen in Java om verschillen te markeren][24]
- [Tekst-, Word- en PDF-bestanden vergelijken met Java Comparison Library][25] [1]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/08/compare-word-documents-and-highlight-differences-using-java.jpg [2]: #java-comparison-api [3]: #Compare-Word-Documents-using-Java [4]: #Get-Changes-Text-using-Java [5]: #Compare-Bookmarks-in-Word-Documents-using-Java [6]: https://products.groupdocs.com/comparison/java [7]: https://docs.fileformat.com/word-processing/docx/ [8]: https://releases.groupdocs.com/comparison/java/ [9]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer [10]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#add(java.nio.file.Path) [11]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#Comparer(java.lang.String) [12]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/08/source-and-target-word-documents.jpg [13]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/08/result.jpg [14]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#getChanges() [15]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison.result/ChangeInfo [16]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison.result/ChangeInfo#getText() [17]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison.options/CompareOptions [18]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison.options/CompareOptions#setCompareBookmarks(boolean) [19]: https://apireference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#compare(java.lang.String,%20com.groupdocs.comparison.options.CompareOptions) [20]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/08/Compare-Bookmarks-in-Word-Documents-using-Java.jpg [21]: https://purchase.groupdocs.com/temporary-license [22]: https://docs.groupdocs.com/comparison/java/ [23]: https://forum.groupdocs.com/c/comparison/12 [24]: https://blog.groupdocs.com/2021/06/16/compare-images-in-java/ [25]: https://blog.groupdocs.com/2020/07/15/compare-text-word-pdf-files-with-java-difference-library/