En tant que développeur Python, vous devrez peut-être modifier des documents Word ou Excel par programmation. Vous pouvez mettre à jour ces documents sans installer d’application externe. Cet article se concentrera sur la façon de modifier des documents Word ou Excel à l’aide d’une API REST.

Les sujets suivants seront traités dans cet article :

API REST de l’éditeur de documents et SDK Python

Famille de produits cloud GroupDocs.Editor

Pour éditer des documents Word ou des feuilles Excel, j’utiliserai l’API Python SDK of GroupDocs.Editor Cloud. Il vous permet de modifier par programmation des documents de traitement de texte, des feuilles Excel ou des documents d’autres formats pris en charge. Il fournit également les SDK .NET, Java, PHP, Ruby, Android et Node.js en tant que membres de la famille des éditeurs de documents pour l’API Cloud.

Vous pouvez installer GroupDocs.Editor-Cloud sur votre projet Python à l’aide de la commande suivante dans la console :

pip install groupdocs_editor_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 = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

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

Modifier un document Word à l’aide d’une API REST

Vous pouvez modifier le document Word en suivant les étapes simples mentionnées ci-dessous :

Télécharger le document

Tout d’abord, téléchargez le document Word dans le Cloud en utilisant l’exemple de code ci-dessous :

storage_api = groupdocs_editor_cloud.StorageApi.from_config(config_info)
file_api = groupdocs_editor_cloud.FileApi.from_config(config_info)

# télécharger un exemple de fichier
files = glob.glob("C:\\Files\\sample_word_document.docx", recursive=False)
destination_file = files[0].replace("C:\\Files\\", "", 1)
file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(destination_file, files[0]))

En conséquence, le fichier Word sera téléchargé sur Cloud Storage et sera disponible dans la section des fichiers de votre tableau de bord.

Modifier un document Word en Python

Veuillez suivre les étapes mentionnées ci-dessous pour modifier le document Word par programmation.

  • Créer des instances File API et Edit API
  • Fournir WordProcessingLoadOptions
  • Charger un fichier avec la méthode Load de l’API d’édition
  • Télécharger le document HTML à l’aide de la méthode Télécharger le fichier de l’API de fichier
  • Modifier le document HTML
  • Téléchargez le code HTML à l’aide de la méthode Télécharger le fichier de l’API de fichier
  • Fournir WordProcessingSaveOptions pour enregistrer dans DOCX
  • Enregistrez le code HTML dans DOCX à l’aide de la méthode Save de l’API d’édition

L’extrait de code suivant montre comment mettre à jour un document Word à l’aide d’une API REST.

# Créer les instances d'API nécessaires
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Le document déjà téléchargé dans le stockage.
# Chargez-le dans un état modifiable
file_info = groupdocs_editor_cloud.FileInfo("sample_word_document.docx", None, None, None)
load_options = groupdocs_editor_cloud.WordProcessingLoadOptions()
load_options.file_info = file_info
load_options.output_path = "output"
load_result = edit_api.load(groupdocs_editor_cloud.LoadRequest(load_options))

# Télécharger le document html
html_file = file_api.download_file(groupdocs_editor_cloud.DownloadFileRequest(load_result.html_path))
html = ""
with open(html_file, 'r') as file:
    html = file.read()

# Modifier quelque chose...
html = html.replace("Sample test text", "Hello world")

# Télécharger le code HTML vers le stockage
with open(html_file, 'w') as file:
    file.write(html)

file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))

# Enregistrer le html dans docx
save_options = groupdocs_editor_cloud.WordProcessingSaveOptions()
save_options.file_info = file_info
save_options.output_path = "output/edited.docx"
save_options.html_path = load_result.html_path
save_options.resources_path = load_result.resources_path
save_result = edit_api.save(groupdocs_editor_cloud.SaveRequest(save_options))

# Fait
print("Document edited: " + save_result.path)

Télécharger le fichier mis à jour

L’exemple de code ci-dessus enregistrera le fichier Word modifié sur le cloud. Vous pouvez le télécharger à l’aide de l’exemple de code suivant :

request = groupdocs_editor_cloud.DownloadFileRequest("output\\edited.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\\")

Modifier une feuille Excel à l’aide d’une API REST

Veuillez suivre les étapes mentionnées ci-dessous pour modifier la feuille Excel par programme.

  • Créer des instances File API et Edit API
  • Fournir SpreadsheetLoadOptions
  • Charger un fichier avec la méthode Load de l’API d’édition
  • Télécharger le document HTML à l’aide de la méthode Télécharger le fichier de l’API de fichier
  • Modifier le document HTML
  • Téléchargez le code HTML à l’aide de la méthode Télécharger le fichier de l’API de fichier
  • Fournir SpreadsheetSaveOptions pour enregistrer dans XLSX
  • Enregistrez le code HTML dans XLSX à l’aide de la méthode Save de l’API d’édition

L’exemple de code simple donné ci-dessous montre comment mettre à jour une feuille Excel à l’aide d’une API REST. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

# Créer les instances d'API nécessaires
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configurations)

# Le document déjà téléchargé dans le stockage.
# Chargez-le dans un état modifiable
file_info = groupdocs_editor_cloud.FileInfo("sample_four_sheets.xlsx")
load_options = groupdocs_editor_cloud.SpreadsheetLoadOptions()
load_options.file_info = file_info
load_options.output_path = "output"
load_options.worksheet_index = 0
load_result = edit_api.load(groupdocs_editor_cloud.LoadRequest(load_options))

# Télécharger le document html
html_file = file_api.download_file(groupdocs_editor_cloud.DownloadFileRequest(load_result.html_path))
html = ""
with open(html_file, 'r') as file:
    html = file.read()

# Modifier quelque chose...
html = html.replace("This is sample sheet", "This is sample sheep")

# Télécharger le code HTML vers le stockage
with open(html_file, 'w') as file:
    file.write(html)

file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))

# Enregistrer le HTML en xlsx
save_options = groupdocs_editor_cloud.SpreadsheetSaveOptions()
save_options.file_info = file_info
save_options.output_path = "output/edited.xlsx"
save_options.html_path = load_result.html_path
save_options.resources_path = load_result.resources_path
save_result = edit_api.save(groupdocs_editor_cloud.SaveRequest(save_options))

# Fait
print("Excel sheet edited: " + save_result.path)

Conclusion

Dans cet article, vous avez appris à modifier des documents Word ou des feuilles Excel sur le cloud avec l’API REST de l’éditeur de documents à l’aide de Python. Vous avez également appris à télécharger par programme les fichiers sur le cloud, puis à télécharger les fichiers mis à jour à partir du cloud. Vous pouvez en savoir plus sur l’API cloud GroupDocs.Editor à 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