Étant donné que le PDF est l’un des formats les plus utilisés dans le monde numérique, il est souvent nécessaire de comparer deux versions du même document. Cet article explique comment comparer deux documents PDF et mettre en évidence les différences à l’aide de C#. De plus, nous verrons comment comparer des fichiers PDF protégés par mot de passe, accepter et rejeter les modifications, ainsi que la comparaison de plus de deux fichiers PDF avec des exemples C#.

Comparez des documents PDF pour trouver des différences à l'aide de l'API .NET

Les sujets suivants sont abordés ici :

API .NET pour comparer des fichiers PDF

GroupDocs.Comparison for .NET est l’API qui permet la comparaison entre plusieurs documents PDF et de nombreux autres fichiers du même format de document dans les applications .NET. J’utiliserai cette API dans les exemples de code C# de cet article pour comparer des documents PDF.

Vous pouvez télécharger les DLL ou le programme d’installation MSI à partir de la section des téléchargements ou installer l’API dans votre application .NET via NuGet.

PM> Install-Package GroupDocs.Comparison

Comparer des documents PDF à l’aide de C#

Si vous avez plusieurs copies d’un document PDF, vous pouvez comparer ces fichiers pour trouver les différences (ajouts, suppressions). Après avoir comparé le contenu du PDF, vous pouvez créer un nouveau document mettant en évidence toutes les modifications identifiées. Voici les étapes pour comparer deux documents PDF et mettre en évidence les différences à l’aide de C#.

  • Chargez le premier document PDF à l’aide de la classe Comparer.
  • Ajoutez le deuxième fichier à Comparer en utilisant la méthode Add().
  • Comparez les deux fichiers PDF et obtenez le résumé des modifications en appelant la méthode Compare().

L’extrait de code C# suivant montre comment comparer des documents PDF et mettre en évidence les modifications dans le document résultant.

/*
 * Comparez deux documents PDF et mettez en surbrillance les modifications à l'aide de C #
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

Accepter ou rejeter les modifications identifiées des fichiers PDF à l’aide de C#

Tout comme les fonctionnalités de suivi des modifications, vous pouvez accepter ou rejeter par programmation chaque modification identifiée dans les documents PDF. Les étapes suivantes montrent comment comparer puis accepter ou rejeter les modifications identifiées dans les documents PDF.

  • Chargez les fichiers PDF source et cible à l’aide de la classe Comparer.
  • Comparez les documents chargés à l’aide de la méthode Compare().
  • Obtenez les modifications identifiées à l’aide de la méthode GetChanges().
  • Parcourez maintenant les modifications et définissez ComparisonAction.
    • Sélectionnez Accepter ou Refuser pour chaque modification.
  • Appelez la méthode ApplyChanges() pour obtenir le document résultant avec les modifications acceptées.

L’extrait de code suivant compare deux documents PDF, puis accepte une modification identifiée, puis en rejette une autre à l’aide de C#.

/*
 * Acceptez et rejetez les modifications identifiées en comparant les documents PDF à l'aide de C#
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Rejeter le premier changement identifié et il ne sera pas ajouté au document de résultat
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(@"path/rejected-change-result.pdf", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges(@"path/accepted-change-result.pdf", new ApplyChangeOptions { Changes = changes });
}

Comparez plus de deux fichiers PDF à l’aide de C

De même, vous pouvez comparer plus de deux documents. Voici les étapes qui comparent plusieurs documents PDF pour les différences et mettent en évidence les modifications identifiées.

  • Chargez les premiers fichiers PDF à l’aide de la classe Comparer.
  • Ajoutez d’autres documents à Comparer à l’aide de la méthode Add().
  • Comparez tous les fichiers PDF à l’aide de la méthode Comparer () et obtenez les modifications et le résumé des modifications.

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

/*
 * Comparer plusieurs documents PDF à l'aide de C #
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Add(@"path/document-3.pdf");
    comparer.Add(@"path/document-4.pdf");

    comparer.Compare(@"path/compare-result.pdf");
}

Comparer des documents PDF protégés par mot de passe à l’aide de C#

Vous pouvez comparer les fichiers protégés par mot de passe en fournissant simplement leurs mots de passe lors du chargement de ces documents. Les étapes suivantes montrent comment nous pouvons comparer le contenu PDF de documents protégés par mot de passe à l’aide de C#.

  • Préparez les options de chargement des documents source et cible en fournissant le mot de passe.
  • Chargez le document source à l’aide de la classe Comparer.
  • Ajoutez le document cible à Comparer en utilisant les options de chargement préparées.
  • Obtenez le résumé des différences en appelant la méthode Compare().

L’exemple suivant compare deux fichiers PDF protégés par mot de passe et met en évidence les différences identifiées dans un document distinct à l’aide de C#.

/*
 * Comparer des documents PDF protégés par mot de passe à l'aide de C#
 */
using (Comparer comparer = new Comparer(@"path/protected-document-1.pdf", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add(@"path/protected-document-2.pdf", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare(@"path/compared-protected-docs-result.pdf");
}

Obtenez une licence API gratuite

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

Conclusion

Pour conclure, nous avons appris à comparer deux ou plusieurs fichiers PDF à l’aide de C#. De plus, nous avons mis en évidence les différences et accepté ou rejeté par programme les modifications identifiées. Enfin, nous avons vu comment comparer des documents PDF protégés par mot de passe dans des applications .NET.

Plusieurs autres personnalisations sont disponibles pour contrôler les résultats de la comparaison. Vous pouvez définir la sensibilité de la comparaison, afficher uniquement la page de résumé, ignorer les lacunes, etc. En savoir plus sur GroupDocs.Comparison for .NET dans la documentation. Vous pouvez créer vos propres applications de comparaison de documents pour différents formats de documents. Pour toute question, contactez-nous via le forum.

Voir également