En tant que développeur Python, vous pouvez comparer deux ou plusieurs documents Word (.docx) pour les similitudes et les différences par programmation sur le cloud. La comparaison de documents vous aide à suivre les modifications dans les documents Word. Cet article se concentrera sur la façon de comparer deux ou plusieurs documents Word à l’aide d’une API REST en Python.

Les sujets suivants seront traités dans cet article :

API REST de comparaison de documents et SDK Python

GroupDocs.Comparison pour le cloud

Pour comparer des documents Microsoft Word, j’utiliserai l’API Python SDK of GroupDocs.Comparison Cloud. Il compare deux documents de formats de fichiers pris en charge et trouve les différences entre eux. En conséquence, il crée un fichier résultant contenant les différences et vous permet d’accepter ou de rejeter les modifications récupérées. Il peut facilement être intégré à vos applications Python existantes, pour permettre à vos utilisateurs finaux de comparer des documents, des feuilles de calcul, des présentations, des diagrammes Microsoft Visio, des e-mails et des fichiers de nombreux autres formats. Il fournit également des SDK .NET, Java, PHP et Ruby en tant que membres de la famille de comparaison de documents pour l’API Cloud.

Vous pouvez installer GroupDocs.Comparison Cloud sur votre projet Python avec pip (package installer for python) à l’aide de la commande suivante dans la console :

pip install groupdocs_comparison_cloud

Veuillez obtenir votre ID client et votre secret client à partir du tableau de bord avant de commencer à suivre les étapes et les exemples de code disponibles. Ajoutez votre identifiant et votre secret dans le code comme illustré ci-dessous :

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
my_storage = ""

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"

Comparer des documents Word à l’aide d’une API REST en Python

Vous pouvez comparer deux documents Word en suivant les étapes simples mentionnées ci-dessous :

Télécharger le document

Tout d’abord, chargez les documents Word source et cible dans le Cloud à l’aide de l’exemple de code ci-dessous :

# initialisation de l'API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_comparison_cloud.StorageApi.from_config(configuration)

# télécharger des exemples de fichiers
for filename in glob.iglob("C:\\Files\\*.docx", recursive=True):
    destFile = filename.replace("C:\\Files\\", "", 1)            
    fileExistsResponse = storage_api.object_exists(groupdocs_comparison_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:                                
        file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
        print("Uploaded file: "+ destFile)

Par conséquent, les fichiers DOCX téléchargés (source.docx, cible.docx) seront disponibles dans la section fichiers de votre tableau de bord sur le cloud.

Comparer des fichiers Word en Python

Veuillez suivre les étapes mentionnées ci-dessous pour comparer deux documents Word par programme.

  • Créer une instance de CompareApi
  • Définir le fichier .docx source
  • Définir le fichier .docx cible
  • Définir les options de comparaison
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()

L’extrait de code suivant montre comment comparer deux documents Word à l’aide d’une API REST.

# Créer les instances d'API nécessaires
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"

target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.docx"

options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "Output/result.docx"

request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Vous pouvez fournir le mot de passe pour les fichiers source ou cible protégés par mot de passe comme indiqué ci-dessous :

target.password = "5784"

Vous pouvez également définir divers paramètres à appliquer lors de la comparaison et les affecter à ComparaisonOptions comme indiqué ci-dessous :

settings = groupdocs_comparison_cloud.Settings()

# Comparer la sensibilité
settings.sensitivity_of_comparison = 100

# Personnaliser les styles pour les changements
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True

options.settings = settings

Télécharger le fichier résultant

L’exemple de code ci-dessus enregistrera les différences dans un fichier DOCX nouvellement créé sur le cloud. Vous pouvez le télécharger à l’aide de l’exemple de code suivant :

# Créer une instance de l'API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

request = groupdocs_comparison_cloud.DownloadFileRequest("Output\\result.docx", my_storage)
response = file_api.download_file(request)

# Déplacez le fichier téléchargé dans votre répertoire de travail
shutil.move(response, "C:\\Files\\")        
Comparer des documents Word à l'aide d'une API REST en Python

Le fichier résultant contient également une page récapitulative à la fin du document comme indiqué ci-dessous :

Page de résumé

Comparer plusieurs fichiers Word à l’aide de Python

Veuillez suivre les étapes mentionnées ci-dessous pour comparer plusieurs documents Word à l’aide de Python.

  • Créer une instance de CompareApi
  • Définir le fichier .docx source
  • Définir plusieurs fichiers .docx cibles
  • Définir les options de comparaison si nécessaire
  • Créer des comparaisonsDemande
  • Obtenez des résultats en appelant la méthode CompareApi.comparisons()

L’extrait de code suivant montre comment comparer plusieurs documents Word à l’aide de Python. Veuillez suivre les étapes mentionnées précédemment pour télécharger plusieurs fichiers DOCX.

# Créer les instances d'API nécessaires
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.docx"
    
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.docx"
    
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.docx"
    
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "Output/result.docx"

request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Veuillez essayer l’outil de comparaison DOCX en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/comparison/docx

Conclusion

Dans cet article, vous avez appris à comparer des documents Microsoft Word sur le cloud avec l’API REST de comparaison de documents à l’aide de Python. Vous avez également appris à télécharger par programmation deux fichiers ou plus sur le cloud, puis à télécharger le fichier résultant à partir du cloud. Vous pouvez en savoir plus sur l’API GroupDocs.Comparison Cloud à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.