Introduction

Que vous travailliez avec des contrats, des politiques internes, des spécifications techniques ou des textes marketing, le schéma est le même : vous accumulez rapidement plusieurs versions .docx et, à un moment donné, vous devez voir exactement ce qui a changé entre elles. La boîte de dialogue Compare intégrée à Word convient pour une vérification manuelle occasionnelle, mais elle n’est pas très utile lorsque la comparaison devient une partie d’un processus régulier ou doit être automatisée côté serveur.

GroupDocs.Comparison for .NET vous permet d’exécuter cette comparaison depuis le code et de produire le résultat dans le format préféré de vos relecteurs. La bibliothèque prend en charge deux modes de sortie de comparaison pour les documents Word :

  1. Mode révision — les différences sont écrites sous forme de balises de révision (track‑changes) Word. Les relecteurs ouvrent le fichier, voient les contrôles familiers Review → Accept / Reject, et traitent les changements un par un.
  2. Mode surbrillance — le texte inséré, supprimé et modifié est affiché avec des surbrillances de couleur directement dans le corps du document, de sorte que les différences soient visibles d’un coup d’œil pendant la lecture du texte final.

Dans cet article, nous parcourrons les deux approches avec des exemples C# fonctionnels, explorerons la classe WordCompareOptions et ses propriétés, et discuterons du moment où chaque mode est le plus pertinent.

Prérequis

Avant de commencer :

  • .NET 6.0 ou version ultérieure.
  • GroupDocs.Comparison for .NET — installation via NuGet :
dotnet add package GroupDocs.Comparison
  • Un fichier de licence (GroupDocs.Comparison.lic). Sans celui‑ci, la bibliothèque fonctionne en mode d’évaluation avec filigranes et limites de taille. Vous pouvez demander une licence temporaire pour les tests.
  • Deux fichiers Word à comparer — nous les appellerons source.docx et target.docx. Exemple de contenu :
source.docx target.docx

Méthode 1 : Comparaison en mode révision

Quand l’utiliser : les relecteurs doivent accepter ou refuser chaque modification individuellement dans Microsoft Word à l’aide des outils intégrés Review → Accept / Reject — par exemple, lors de négociations de contrats ou de cycles d’approbation de politiques.

using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;

using (var comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");

    var options = new WordCompareOptions
    {
        DetectStyleChanges = true,
        DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions
    };

    comparer.Compare("result_revision.docx", options);
}

Document résultant en mode révision (track changes) :

Comparison result in revision (track changes) mode

Ce qui se passe en coulisses :

  • ComparisonDisplayMode.Revisions indique au moteur d’émettre la balise native de suivi des modifications Word.
  • DetectStyleChanges = true fait en sorte que la comparaison détecte également les différences de mise en forme (gras, taille de police, couleur) en plus des modifications textuelles.
  • Le fichier de sortie s’ouvre dans Microsoft Word avec le volet Review prêt — chaque insertion, suppression et modification de style est répertoriée et peut être acceptée ou rejetée.

Comme le mode révision ne nécessite pas de re‑rendu du contenu du document — il se contente d’attacher des métadonnées de révision — il a généralement la meilleure performance des deux modes.


Méthode 2 : Comparaison en mode surbrillance

Quand l’utiliser : les parties prenantes veulent un document épuré qui montre clairement ce qui a changé, sans avoir à parcourir chaque révision. Un scénario typique est celui d’un manager qui ouvre la dernière version dans Word et parcourt rapidement les insertions et suppressions surlignées pour comprendre l’impact de la mise à jour.

using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;

using (var comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");

    var options = new WordCompareOptions
    {
        DetectStyleChanges = true,
        DisplayMode = WordCompareOptions.ComparisonDisplayMode.Highlight
    };

    comparer.Compare("result_highlighted.docx", options);
}

Document résultant en mode surbrillance :

Comparison result in highlight mode

Ce qui se passe en coulisses :

  • ComparisonDisplayMode.Highlight rend les différences sous forme de surbrillances colorées en ligne — rouge pour les suppressions, vert pour les insertions, bleu pour les changements de style (couleurs par défaut pouvant être ajustées via WordCompareOptions / CompareOptions et leurs StyleSettings associés).
  • Le document est prêt à être lu ou imprimé sans étapes supplémentaires.
  • Aucune métadonnée de suivi des modifications n’est ajoutée au fichier.

Le mode surbrillance effectue plus de travail en interne car il doit modifier le contenu réel du document et appliquer le formatage. Pour les gros fichiers, vous pouvez remarquer une différence de performance notable par rapport au mode révision.


Exploration de WordCompareOptions

Les deux exemples ci‑dessus utilisent WordCompareOptions — une classe qui hérite des paramètres communs de CompareOptions et ajoute des propriétés spécifiques aux documents Word. Grâce à ce type, vous contrôlez le mode d’affichage (DisplayMode), le suivi des changements de style (DetectStyleChanges), le nom d’auteur qui apparaît sur les révisions (RevisionAuthorName), la façon de gérer les sauts de ligne, les signets, etc.

En outre, la classe de base CompareOptions expose les styles pour les éléments insérés, supprimés et modifiés (InsertedItemStyle, DeletedItemStyle, ChangedItemStyle), afin que vous puissiez affiner les couleurs et le formatage des surbrillances lorsque cela est nécessaire.

Voici un petit exemple de configuration d’options pour une vérification texte‑seulement en mode révision :

var options = new WordCompareOptions
{
    DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions,
    DetectStyleChanges = false,
    RevisionAuthorName = "QA Bot",
    CompareBookmarks = true
};

Récupérer les changements programmatiquement

Quel que soit le mode de sortie que vous choisissez (révisions ou surbrillance), vous pouvez toujours obtenir une liste structurée des différences détectées via l’API commune Comparer.GetChanges. Cette méthode fonctionne pour Word et tous les autres formats pris en charge.

using (var comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");

    comparer.Compare("result_revision.docx");

    var changes = comparer.GetChanges(); // renvoie ChangeInfo[]
}

C’est utile lorsque vous devez post‑traiter les changements dans votre propre flux de travail — par exemple, créer un rapport HTML personnalisé, alimenter les différences dans un système de révision, ou agréguer des statistiques sur les modifications. Consultez la référence officielle de l’API pour plus de détails : Comparer.GetChanges.


Travail avec des documents protégés par mot de passe

Si les documents sont protégés par un mot de passe, ils peuvent quand même être comparés : le mot de passe est transmis via LoadOptions lors de la création du Comparer. Cette approche fonctionne de la même façon pour Word, PDF et les autres formats supportés.

using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;

using (var comparer = new Comparer("source_protected.docx",
    new LoadOptions { Password = "secret" }))
{
    comparer.Add("target_protected.docx");

    var options = new WordCompareOptions
    {
        DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions
    };

    comparer.Compare("result_protected.docx", options);
}

Obtenez un essai gratuit

Vous pouvez télécharger GroupDocs.Comparison for .NET depuis la page officielle des versions. Pour des tests sans restriction, demandez une licence temporaire — aucune carte de crédit requise.


Foire aux questions

Q : Dois‑je installer Microsoft Word ou Office sur le serveur ?
R : Non. GroupDocs.Comparison est une bibliothèque .NET autonome ; elle lit et écrit les fichiers DOCX de façon indépendante.

Q : Puis‑je comparer des documents dans d’autres formats que Word ?
R : Oui — la bibliothèque prend en charge les PDF, les classeurs Excel, les présentations, les fichiers texte brut et bien d’autres. La liste complète figure dans la documentation.

Q : Que se passe‑t‑il si je ne fournis pas de licence ?
R : La bibliothèque fonctionne en mode d’évaluation. Les documents de sortie contiendront un filigrane et seules les premières pages seront traitées. Une licence temporaire supprime ces restrictions pour les tests.

Q : Puis‑je personnaliser les couleurs de surbrillance ?
R : Les couleurs par défaut conviennent à la plupart des cas d’usage. Pour un contrôle avancé du style, consultez la propriété StyleSettings de CompareOptions.


Conclusion

GroupDocs.Comparison for .NET vous offre deux solutions propres pour différencier les documents Word depuis le code. Le mode révision s’intègre directement au flux de révision déjà utilisé par votre équipe ; le mode surbrillance fournit un résumé visuel instantané pour les personnes qui souhaitent simplement voir les changements. La classe WordCompareOptions vous permet d’ajuster finement la sortie — de la détection de style et de l’attribution d’auteur à la comparaison des signets et des propriétés du document.

Choisissez le mode qui correspond à votre scénario, ou générez les deux et laissez chaque public sélectionner la vue qui lui convient le mieux.

Ressources supplémentaires