Nous avons déjà discuté de la comparaison de deux documents Word même s’ils étaient protégés par un mot de passe. Que se passe-t-il s’il y a plus de deux fichiers à comparer ? Dans cet article, nous verrons comment comparer plusieurs documents Word en Java. De plus, nous apprendrons comment accepter ou rejeter chacune des modifications identifiées pour obtenir le résultat souhaité.

Comparez plusieurs documents Word pour trouver les différences en Java

La récente courte série d’articles couvrait déjà la méthode Java pour :

À la fin de cet article, vous saurez également comment :

Si votre environnement de développement n’est pas encore prêt à effectuer la comparaison, préparons-la rapidement.

Bibliothèque Java pour comparer deux ou plusieurs documents Word - Configuration

J’espère que vous connaissez maintenant l’API Java de comparaison de documents. J’utiliserai le même GroupDocs.Comparison pour aller de l’avant. Vous pouvez télécharger ou vérifier rapidement l’environnement de développement de vos applications basées sur Maven en utilisant les configurations suivantes :

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

Passons maintenant à l’objectif et commençons par comparer plusieurs fichiers Word.

Comparer plus de deux fichiers Word en Java

La comparaison de plusieurs fichiers n’est pas si différente par rapport à la comparaison de seulement deux fichiers. Continuez simplement à ajouter plus de fichiers au comparateur et enfin, appuyez sur la comparaison comme vous le faites lorsque vous comparez deux fichiers. Voici les étapes pour comparer plus de deux documents Word en Java afin d’identifier les modifications et de mettre en évidence les différences trouvées.

  • Chargez le premier fichier DOC/DOCX à l’aide de la classe Comparer.
  • Ajoutez le deuxième fichier à Comparer à l’aide de la méthode add().
  • Continuez à ajouter d’autres documents au comparateur en utilisant les méthodes add() identiques/similaires.
  • Appelez la méthode compare pour effectuer la comparaison et obtenir le résumé des modifications identifiées.

L’exemple suivant montre comment comparer plusieurs fichiers Word en Java et obtenir les modifications dans le document résultant.

/*
 * Comparer plusieurs documents Word
 */
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");
}

Accepter ou rejeter les modifications identifiées dans les fichiers Word à l’aide de Java

Vous êtes presque sûr de connaître la fonctionnalité de suivi des modifications de Microsoft Word. De la même manière, vous pouvez accepter ou rejeter par programmation chacune des modifications identifiées pour le document de sortie final. Les étapes suivantes montrent comment vous pouvez comparer puis accepter ou rejeter les modifications identifiées dans les fichiers DOC/DOCX des documents Word.

  • Chargez le document DOC/DOCX source à l’aide de la classe Comparer.
  • Ajoutez le deuxième document Word au comparateur à l’aide de la méthode add().
  • Comparez les fichiers chargés à l’aide de la méthode compare().
  • Récupérez la collection des différences identifiées à l’aide de la méthode getChanges().
  • Parcourez maintenant les modifications, analysez-les, puis vous pouvez définir la ComparisonAction de chaque modification en conséquence.
    • Définissez-le sur Accepter pour accepter le changement.
    • Définissez-le sur Rejeter pour refuser la modification.
  • Appelez la méthode applyChanges() pour obtenir le document modifié avec les changements adoptés.

L’extrait de code Java suivant compare deux documents DOCX, puis montre comment accepter et rejeter les modifications identifiées.

/*
 * Comparer des documents Word - Accepter ou rejeter les modifications en 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));
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser l’API sans les limitations d’évaluation pour comparer plusieurs documents Word.

Créez votre propre application de comparaison

Voici quelques liens importants qui vous aideront à créer votre propre application de comparaison de documents.

Fonctionnalités | Documentation | API Reference | Running Examples – Source Code | Support | Release Notes

Voir également