La comparaison de documents est l’une des exigences les plus courantes dans le monde de la programmation d’aujourd’hui. Que ce soit pour comparer des fichiers Word, comparer des fichiers Excel, des documents PDF ou même comparer des fichiers texte ou tout autre format de document, la précision est le facteur clé lors de la comparaison.

Comparer des fichiers avec l'API de comparaison de documents pour les développeurs .NET

Cet article vous donnera une idée de la façon dont GroupDocs.Comparison aide les programmeurs à comparer deux ou plusieurs documents de plusieurs façons. On-Premise Les API de GroupDocs.Comparison sont actuellement disponibles pour .NET et Java, cependant, cet article s’adresse aux développeurs C#.

Comparez Excel, des fichiers Word ou tout autre document en C

GroupDocs.Comparison permet aux développeurs de comparer deux documents (en fait plus de 2. Le document résultant montre les changements entre les deux fichiers en comparaison. Le code mentionné ci-dessous montre comment vous pouvez comparer deux fichiers Excel en seulement 3 lignes de code en C#.

  1. Instanciez l’objet Comparer avec le chemin du document source.
  2. Appelez la méthode Add pour spécifier le chemin du document cible.
  3. Appelez la méthode Comparer.
  4. C’est ça.
using (Comparer comparer = new Comparer(“source.xlsx”))
{
    comparer.Add(“target.xlsx”);
    comparer.Compare(“result.xlsx”);
}

La comparaison de feuilles de calcul Excel ou de documents Microsoft Word fait partie du sous-ensemble de comparaisons prises en charge par l’API .NET de GroupDocs.Comparison. Vous trouverez ci-dessous la liste des formats pris en charge. Vous pouvez consulter la documentation pour rester à jour.

Type de document Formats de fichier
Traitement de texte DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, TXT
Feuilles de calcul XLS, XLSX, XLSM, XLT, XLTM, XLSB, XLSM, CSV
Présentations PPT, PPTX, PPS, PPSX, POT, POTX
OuvrirDocument ODT, ODP, OTP, ODS, OTT
Dessins Microsoft Visio VSD, VSDX, VSS, VST, VDX
Portable PDF
Prise de notes ONE
Internet HTM, HTML, MHT, MHTML
livres électroniques MOBI
Images BMP, GIF, JPG, JPEG, PNG, DICOM, DJVU, DWG, DXF
E-mails EML, EMLX, MSG

Comparez deux ou plusieurs feuilles de calcul ou documents OneNote en C

Après la sortie de GroupDocs.Comparison for .NET 20.2, l’API prend désormais en charge :

  • Comparaison de plus de deux **feuilles de calcul Microsoft Excel et OpenOffice (XLS, XLSX, ODS, CSV, …)
  • Comparez plusieurs documents Microsoft OneNote.

L’API prend déjà en charge la comparaison de plusieurs fichiers pour différents formats de documents. L’extrait de code suivant montre à quelle vitesse plusieurs fichiers Excel peuvent être comparés en C#.

using (Comparer comparer = new Comparer(“source.xlsx”)
{
    comparer.Add(“target1.xlsx”);
    comparer.Add(“target2.xlsx”);
    comparer.Add(“target3.xlsx”);
    comparer.Compare(“result.xlsx”);
}

Comparer des documents à partir de Stream en C#

En tant que programmeur, vous n’êtes pas seulement autorisé à comparer des documents disponibles sur le stockage local, en fait, nous pouvons comparer des documents à partir du flux.

  1. Initialisez simplement l’objet Comparer avec le flux de document source.
  2. Appelez la méthode Add et spécifiez le flux cible.
  3. Appelez la méthode Comparer
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”))
{
    comparer.Add(File.OpenRead(“target1.docx”));
    comparer.Add(File.OpenRead(“target2.docx”));
    comparer.Add(File.OpenRead(“target3.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

Comparer des documents Word protégés par mot de passe/feuille de calcul Excel en C#

La protection par mot de passe est courante dans la documentation officielle. En utilisant l’API .NET de comparaison de documents, il permet à ses utilisateurs/développeurs de comparer des documents protégés par mot de passe.

Juste un petit changement dans le code par rapport au code de comparaison des documents qui ne sont pas protégés par mot de passe. Lors du chargement du document, utilisez LoadOptions pour spécifier le mot de passe du document. Vous trouverez ci-dessous l’exemple de code de comparaison pour votre aide.

using (Comparer comparer = new Comparer("source.docx", new LoadOptions() { Password = "1234" }))
{
    comparer.Add("target1.docx", new LoadOptions() { Password = "5678" });
    comparer.Add("target2.docx", new LoadOptions() { Password = "5678" });
    comparer.Add("target3.docx", new LoadOptions() { Password = "5678" });
    comparer.Compare("result.docx");
}

Comparaison de documents avec des paramètres spécifiques

Une longueur d’avance sur la simple comparaison, en utilisant le code similaire à celui mentionné ci-dessous, vous pouvez comparer plusieurs documents avec vos paramètres de comparaison personnalisés.

CompareOptions vous offre la possibilité de spécifier vos options de comparaison comme le style de police pour les changements détectés, etc.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    CompareOptions compareOptions = new CompareOptions()
    {
        InsertedItemStyle = new StyleSettings()
        {
            FontColor = System.Drawing.Color.Yellow
        }
    };
    comparer.Compare(“result.docx”, compareOptions);
}

Comparer les fichiers de langage de programmation en C#

GroupDocs augmente continuellement la prise en charge pour comparer davantage de formats de fichiers. Après la version v 20.2, vous pouvez désormais également comparer les fichiers JSON à l’aide de l’API .NET. Voici les formats de fichiers de langage de programmation récemment ajoutés à la liste des formats de documents pris en charge :

  • ActionScript
  • Assembleur
  • Basé sur C
  • CSharp
  • Sensationnel
  • Javascript
  • Java
  • JSON
  • Objectif C/C++
  • Perle
  • PHP
  • Python
  • Rubis
  • Échelle
  • Script Shell/Batch, Log, Diff, Config, MOINS
  • SQL

Parlons

Vous pouvez créer votre propre application en utilisant les fonctionnalités mises en évidence ci-dessus. Nous serons ravis si vous nous contactez sur le forum pour discuter, résoudre un problème ou partager vos commentaires.