Comparer des fichiers PDF à l'aide de l'API REST en Python

PDF(Portable Document Format) est l’un des types de fichiers les plus couramment utilisés aujourd’hui. Généralement utilisé pour distribuer des documents en lecture seule, en préservant la mise en page d’une page. Dans divers cas, nous pouvons avoir besoin de comparer le contenu de deux ou plusieurs documents PDF ou de comparer plusieurs versions du même document. Nous pouvons facilement comparer des documents PDF par programmation pour identifier les similitudes et les différences. Dans cet article, nous allons apprendre à comparer des fichiers PDF à l’aide d’une API REST en Python.

Les sujets suivants seront traités dans cet article :

API REST pour comparer les fichiers PDF et le SDK Python

Pour comparer des documents PDF, nous utiliserons l’API Python SDK of GroupDocs.Comparison Cloud. Il vous permet de comparer deux ou plusieurs documents des formats pris en charge et de trouver les différences. Veuillez l’installer à l’aide de la commande suivante dans la console :

pip install groupdocs_comparison_cloud

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

# Cet exemple de code montre comment définir l'ID client et le secret.
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

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

Comparez deux fichiers PDF à l’aide d’une API REST en Python

Nous pouvons comparer des documents PDF sur le cloud en suivant les étapes simples ci-dessous :

  1. Téléchargez les fichiers PDF dans le cloud
  2. Comparer des fichiers PDF
  3. Télécharger le fichier PDF résultant

Télécharger les fichiers PDF

Tout d’abord, nous allons télécharger les fichiers PDF source et cible dans le cloud à l’aide de l’exemple de code suivant :

# Cet exemple de code montre comment télécharger des fichiers PDF dans le cloud.
# Créer une instance de l'API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

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

Par conséquent, les fichiers téléchargés seront disponibles dans la section fichiers du tableau de bord sur le cloud.

Comparer des fichiers PDF avec Python

Nous pouvons comparer deux documents PDF par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo.
  • Ensuite, définissez le chemin du fichier PDF source.
  • Après cela, créez une autre instance de FileInfo.
  • Ensuite, définissez le chemin du fichier PDF cible.
  • Ensuite, créez une instance de ComparaisonOptions.
  • Ensuite, affectez les fichiers source et cible.
  • Définissez également le chemin du fichier de sortie.
  • Après cela, créez une instance de l’objet ComparaisonsRequest avec ComparaisonOptions
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest comme argument.

L’exemple de code suivant montre comment comparer deux fichiers PDF à l’aide d’une API REST en Python.

# Cet exemple de code montre comment comparerr deux fichiers PDF.
# Créer une instance de l'API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Fichier source d'entrée
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Fichier cible
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Définir les options de comparaison
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Créer une demande de comparaison
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# comparer
response = api_instance.comparisons(request)
Comparez deux fichiers PDF à l'aide d'une API REST en Python

Comparez deux fichiers PDF à l’aide d’une API REST en Python.

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

Page de résumé.

Page de résumé montrant le nombre total d’éléments supprimés ou insérés.

Télécharger le fichier résultant

L’exemple de code ci-dessus enregistrera les différences dans un fichier PDF nouvellement créé sur le cloud. Il peut être téléchargé à l’aide de l’exemple de code suivant :

# Cet exemple de code montre comment télécharger le fichier résultant.
# Créer une instance de l'API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Créer une demande de fichier de téléchargement
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# Télécharger un fichier
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 plusieurs fichiers PDF en Python

Nous pouvons comparer plusieurs documents PDF en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin du fichier PDF source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin du fichier PDF cible.
  • Après cela, répétez l’étape ci-dessus pour ajouter d’autres fichiers cibles.
  • Ensuite, créez une instance de ComparaisonOptions.
  • Ensuite, affectez les fichiers source/cible et définissez le chemin du fichier de sortie.
  • Après cela, créez une instance de l’objet ComparaisonsRequest avec ComparaisonOptions
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest comme argument.

L’exemple de code suivant montre comment comparer plusieurs fichiers PDF à l’aide d’une API REST en Python.

# Cet exemple de code montre comment comparer plusieurs fichiers PDF.
# Créer les instances d'API nécessaires
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# PDF sources
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF cible 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# PDF cible 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# Définir les options de comparaison
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# Créer une demande de comparaison et comparer
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Personnaliser les résultats de comparaison en Python

Nous pouvons personnaliser le style des modifications trouvées dans le résultat du processus de comparaison en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin du fichier PDF source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin du fichier PDF cible.
  • Ensuite, créez une instance de Settings.
  • Ensuite, définissez la sensibilité de comparaison et diverses propriétés pour personnaliser le style de l’élément.
  • Ensuite, créez une instance de ComparaisonOptions.
  • Ensuite, affectez les fichiers source/cible et définissez le chemin du fichier de sortie.
  • Après cela, créez une instance de l’objet ComparaisonsRequest avec ComparaisonOptions
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest comme argument.

L’exemple de code suivant montre comment personnaliser les résultats de comparaison à l’aide d’une API REST en Python.

# Cet exemple de code montre comment personnaliser les résultats de la comparaison.
# Créer les instances d'API nécessaires
api_instance = groupdocs_comparison_cloud.ComparerApi.from_keys(client_id, client_secret)

# PDF sources
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF cible
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# Comparerr la sensibilité
settings.sensitivity_of_comparison = 100

# Personnaliser les styles pour les modifications
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

# Définir les options de comparaison
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Créer une demande de comparaison
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Comparer
response = api_instance.comparisons(request)

Obtenir la liste des modifications en Python

Nous pouvons obtenir une liste de tous les changements trouvés lors de la comparaison des fichiers PDF en suivant les étapes indiquées ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin du fichier PDF source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin du fichier PDF cible.
  • Ensuite, créez une instance de ComparaisonOptions.
  • Ensuite, affectez les fichiers source/cible et définissez le chemin du fichier de sortie.
  • Après cela, créez une instance de l’objet PostChangesRequest avec ComparaisonOptions
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.post\changes() avec ComparaisonsRequest comme argument.

L’exemple de code suivant montre comment obtenir une liste des modifications à l’aide d’une API REST en Python.

# Cet exemple de code montre comment obtenir la liste de toutes les modifications.
# Créer les instances d'API nécessaires
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# PDF sources
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF cible
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Définir les options de comparaison
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Créer une demande de modification de publication
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Modifications de publication
response = api_instance.post_changes(request)

# Modifications de l'affichage
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Obtenir la liste des modifications en Python

Obtenir la liste des modifications en Python.

Comparez et enregistrez avec un mot de passe et des métadonnées en Python

Nous pouvons protéger par mot de passe le fichier résultant et l’enregistrer avec des métadonnées en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de CompareApi.
  • Ensuite, créez une instance de FileInfo et définissez le chemin du fichier PDF source.
  • Ensuite, créez une autre instance de FileInfo et définissez le chemin du fichier PDF cible.
  • Ensuite, créez une instance de Settings.
  • Ensuite, créez une instance des métadonnées.
  • Après cela, définissez diverses propriétés de métadonnées telles que l’auteur, la société, le dernier \ enregistrement \ par, etc.
  • Ensuite, définissez le mot de passe et le mot de passe\save\options.
  • Ensuite, créez une instance de ComparaisonOptions.
  • Ensuite, affectez les fichiers source/cible et définissez le chemin du fichier de sortie.
  • Après cela, créez une instance de l’objet ComparaisonsRequest avec ComparaisonOptions
  • Enfin, obtenez des résultats en appelant la méthode CompareApi.comparisons() avec ComparaisonsRequest comme argument.

L’exemple de code suivant montre comment enregistrer le fichier résultant avec un mot de passe et des métadonnées à l’aide d’une API REST en Python.

# Cet exemple de code montre comment enregistrer le fichier résultant avec un mot de passe et des métadonnées.
# Créer les instances d'API nécessaires
api_instance = groupdocs_comparison_cloud.ComparerApi.from_keys(client_id, client_secret)

# PDF sources
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# PDF cible
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# Définir les métadonnées
settings.meta_data = groupdocs_comparison_cloud.Metadata()
settings.meta_data.author = "Tom"
settings.meta_data.company = "GroupDocs"
settings.meta_data.last_save_by = "Jack"

#Set password
settings.password_save_option = "User"
settings.password = "password"

# Définir les options de comparaison
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Créer une demande de comparaison
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Comparer
response = api_instance.comparisons(request)

Essayez en ligne

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

Conclusion

Dans cet article, nous avons appris à comparer des documents PDF sur le cloud. Nous avons également vu comment comparer plusieurs fichiers PDF, personnaliser le style des modifications et obtenir une liste des modifications en Python. Cet article a également expliqué comment télécharger par programmation plusieurs fichiers PDF dans le cloud, puis télécharger le fichier résultant à partir du cloud. En outre, 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.

Voir également