Table des matières
Installé via NuGet
PM> Install-Package Spire.Doc
Liens connexes
Il n'est pas rare au travail que nous recevions deux versions d'un document Word et que nous soyons confrontés à la nécessité de trouver les différences entre elles. La comparaison de documents est particulièrement importante et populaire dans les domaines des lois, des réglementations et de l'éducation. Dans cet article, vous apprendrez à comparer deux documents Word en C# et VB.NET en utilisant Spire.Doc for .NET.
- Comparez deux documents et enregistrez le résultat dans un troisième document Word
- Comparer deux documents et renvoyer les insertions et les suppressions dans les listes
Vous trouverez ci-dessous une capture d'écran des deux documents Word qui seront comparés.
Installer Spire.Doc for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.Doc for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.Doc
Comparez deux documents et enregistrez le résultat dans un troisième document Word
L'enregistrement du résultat de la comparaison dans un document Word séparé nous permet de voir toutes les modifications apportées au document d'origine, y compris les insertions, les suppressions ainsi que les modifications de formatage. Voici les étapes pour comparer deux documents et enregistrer le résultat dans un troisième document Word à l'aide de Spire.Doc for .NET.
- Chargez deux documents Word séparément lors de l'initialisation des objets Document.
- Comparez ces deux documents à l'aide de la méthode Document.Compare().
- Enregistrez le résultat dans un troisième document Word à l'aide de la méthode ;Document.SaveToFile().
- C#
- VB.NET
using Spire.Doc; namespace CompareDocuments { class Program { static void Main(string[] args) { //Load one Word document Document doc1 = new Document("C:\\Users\\Administrator\\Desktop\\original.docx"); //Load the other Word document Document doc2 = new Document("C:\\Users\\Administrator\\Desktop\\revised.docx"); //Compare two documents doc1.Compare(doc2, "John"); //Save the differences in a third document doc1.SaveToFile("Differences.docx", FileFormat.Docx2013); doc1.Dispose(); } } }
Comparer deux documents et renvoyer les insertions et les suppressions dans les listes
Les développeurs peuvent vouloir uniquement obtenir les insertions et les suppressions au lieu de toutes les différences. Voici les étapes pour obtenir des insertions et des suppressions dans deux listes distinctes.
- Chargez deux documents Word séparément lors de l'initialisation des objets Document.
- Comparez deux documents à l'aide de la méthode Document.Compare().
- Obtenez les révisions à l'aide de la fonction constructeur de la classe DifferRevisions ;.
- Obtenez une liste des insertions via la propriété DifferRevisions.InsertRevisions.
- Obtenez une liste des suppressions via la propriété DifferRevisions.DeleteRevisions.
- Parcourez les éléments des deux listes pour obtenir l'insertion et la suppression spécifiques.
- C#
- VB.NET
using Spire.Doc; using Spire.Doc.Fields; using System; namespace GetDifferencesInList { class Program { static void Main(string[] args) { //Load one Word document Document doc1 = new Document("C:\\Users\\Administrator\\Desktop\\original.docx"); //Load the other Word document Document doc2 = new Document("C:\\Users\\Administrator\\Desktop\\revised.docx"); //Compare the two Word documents doc1.Compare(doc2, "Author"); //Get the revisions DifferRevisions differRevisions = new DifferRevisions(doc1); //Return the insertion revisions in a list var insetRevisionsList = differRevisions.InsertRevisions; //Return the deletion revisions in a list var deletRevisionsList = differRevisions.DeleteRevisions; //Create two int variables int m = 0; int n = 0; //Loop through the insertion revision list for (int i = 0; i < insetRevisionsList.Count; i++) { if (insetRevisionsList[i] is TextRange) { m += 1; //Get the specific revision and get its content TextRange textRange = insetRevisionsList[i] as TextRange; Console.WriteLine("Insertion #" + m + ":" + textRange.Text); } } Console.WriteLine("====================="); //Loop through the deletion revision list for (int i = 0; i < deletRevisionsList.Count; i++) { if (deletRevisionsList[i] is TextRange) { n += 1; //Get the specific revision and get its content TextRange textRange = deletRevisionsList[i] as TextRange; Console.WriteLine("Deletion #" + n + ":" + textRange.Text); } } Console.ReadKey(); } } }
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.
- C#/VB.NET : insérer des listes dans un document Word
- C#/VB.NET : détecter et supprimer les macros VBA des documents Word
- C#/VB.NET : insérer des équations mathématiques dans des documents Word
- C#/VB.NET : accepter ou rejeter les modifications suivies dans Word
- C#/VB.NET : fractionner des documents Word