Comparaison des documents pour déceler les différences

Introduction

Vous êtes-vous déjà demandé comment repérer chaque différence entre deux documents Word ? Vous êtes peut-être en train de réviser un document ou d’essayer de trouver les modifications apportées par un collaborateur. Les comparaisons manuelles peuvent être fastidieuses et sujettes aux erreurs, mais avec Aspose.Words pour Java, c’est un jeu d’enfant ! Cette bibliothèque vous permet d’automatiser la comparaison de documents, de mettre en évidence les révisions et de fusionner les modifications sans effort.

Prérequis

Avant de vous lancer dans le code, assurez-vous d’avoir les éléments suivants prêts :

  1. Kit de développement Java (JDK) installé sur votre système.
  2. Bibliothèque Aspose.Words pour Java. Vous pouvez téléchargez-le ici .
  3. Un environnement de développement comme IntelliJ IDEA ou Eclipse.
  4. Connaissance de base de la programmation Java.
  5. Une licence Aspose valide. Si vous n’en avez pas, obtenez-en une licence temporaire ici .

Paquets d’importation

Pour utiliser Aspose.Words, vous devez importer les classes nécessaires. Vous trouverez ci-dessous les importations requises :

import com.aspose.words.*;
import java.util.Date;

Assurez-vous que ces packages sont correctement ajoutés aux dépendances de votre projet.

Dans cette section, nous allons décomposer le processus en étapes simples.

Étape 1 : Configurez vos documents

Pour commencer, vous avez besoin de deux documents : l’un représentant l’original et l’autre représentant la version modifiée. Voici comment les créer :

Document doc1 = new Document();
DocumentBuilder builder = new DocumentBuilder(doc1);
builder.writeln("This is the original document.");

Document doc2 = new Document();
builder = new DocumentBuilder(doc2);
builder.writeln("This is the edited document.");

Cela crée deux documents en mémoire avec un contenu de base. Vous pouvez également charger des documents Word existants à l’aide denew Document("path/to/document.docx").

Étape 2 : Vérifier les révisions existantes

Les révisions dans les documents Word représentent les modifications suivies. Avant de comparer, assurez-vous qu’aucun document ne contient de révisions préexistantes :

if (doc1.getRevisions().getCount() == 0 && doc2.getRevisions().getCount() == 0) {
    System.out.println("No revisions found. Proceeding with comparison...");
}

Si des révisions existent, vous souhaiterez peut-être les accepter ou les rejeter avant de continuer.

Étape 3 : Comparer les documents

Utilisez lecompare méthode pour trouver les différences. Cette méthode compare le document cible (doc2) avec le document source (doc1):

doc1.compare(doc2, "AuthorName", new Date());

Ici:

  • AuthorName est le nom de la personne qui effectue les modifications.
  • La date est l’horodatage de comparaison.

Étape 4 : Révisions du processus

Une fois comparé, Aspose.Words générera des révisions dans le document source (doc1). Analysons ces révisions :

for (Revision r : doc1.getRevisions()) {
    System.out.println("Revision type: " + r.getRevisionType());
    System.out.println("Node type: " + r.getParentNode().getNodeType());
    System.out.println("Changed text: " + r.getParentNode().getText());
}

Cette boucle fournit des informations détaillées sur chaque révision, telles que le type de modification et le texte affecté.

Étape 5 : Accepter toutes les modifications

Si vous voulez le document source (doc1) pour correspondre au document cible (doc2), accepter toutes les révisions :

doc1.getRevisions().acceptAll();

Ceci met à jourdoc1 pour refléter tous les changements apportésdoc2.

Étape 6 : Enregistrer le document mis à jour

Enfin, enregistrez le document mis à jour sur le disque :

doc1.save("Document.Compare.docx");

Pour confirmer les modifications, rechargez le document et vérifiez qu’il n’y a plus de révisions :

doc1 = new Document("Document.Compare.docx");
if (doc1.getRevisions().getCount() == 0) {
    System.out.println("Documents are now identical.");
}

Étape 7 : Vérifier l’égalité des documents

Pour vous assurer que les documents sont identiques, comparez leur texte :

if (doc1.getText().trim().equals(doc2.getText().trim())) {
    System.out.println("Documents are equal.");
}

Si les textes correspondent, félicitations : vous avez réussi à comparer et à synchroniser les documents !

Conclusion

La comparaison de documents n’est plus une corvée grâce à Aspose.Words pour Java. Avec seulement quelques lignes de code, vous pouvez identifier les différences, traiter les révisions et garantir la cohérence des documents. Que vous gériez un projet de rédaction collaborative ou que vous vérifiiez des documents juridiques, cette fonctionnalité change la donne.

FAQ

Puis-je comparer des documents avec des images et des tableaux ?

Oui, Aspose.Words prend en charge la comparaison de documents complexes, y compris ceux contenant des images, des tableaux et des formats.

Ai-je besoin d’une licence pour utiliser cette fonctionnalité ?

Oui, une licence est requise pour bénéficier de toutes les fonctionnalités. Obtenez une licence temporaire ici .

Que se passe-t-il s’il existe des révisions préexistantes ?

Vous devez les accepter ou les rejeter avant de comparer les documents pour éviter les conflits.

Puis-je mettre en évidence les révisions dans le document ?

Oui, Aspose.Words vous permet de personnaliser la manière dont les révisions sont affichées, par exemple en mettant en évidence les modifications.

Cette fonctionnalité est-elle disponible dans d’autres langages de programmation ?

Oui, Aspose.Words prend en charge plusieurs langages, notamment .NET et Python.