Modifier des documents Word à l'aide de l'API REST en Python

Dans certains cas, nous devrons peut-être modifier des documents Word par programmation. Nous pouvons facilement ajouter, modifier ou supprimer le contenu des fichiers DOC ou DOCX ou appliquer un formatage de texte à l’aide de Python. Dans cet article, nous allons apprendre à modifier des documents Word à l’aide d’une API REST en Python.

Les sujets suivants seront traités dans cet article :

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

Pour éditer les fichiers DOCX, nous utiliserons l’API Python SDK of GroupDocs.Editor Cloud. Veuillez l’installer à l’aide de la commande suivante dans la console :

pip install groupdocs_editor_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 :

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

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

Modifier des documents Word à l’aide de l’API REST en Python

Nous pouvons éditer des documents Word en suivant les étapes simples mentionnées ci-dessous :

  1. Télécharger le fichier DOCX dans le Cloud
  2. Modifier Document Word utilisant Python
  3. Télécharger le fichier mis à jour

Télécharger le document

Tout d’abord, nous allons télécharger le fichier DOCX sur le Cloud en utilisant l’exemple de code ci-dessous :

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

# Télécharger des exemples de fichiers
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)

Par conséquent, le fichier DOCX téléchargé sera disponible dans la section des fichiers du tableau de bord sur le cloud.

Modifier un document Word à l’aide de Python

Nous pouvons modifier le document Word par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez des instances de FileApi et de EditApi.
  • Ensuite, créez une instance de FileInfo et fournissez le chemin d’accès au fichier DOCX d’entrée.
  • Ensuite, initialisez une instance de WordProcessingLoadOptions et affectez FileInfo.
  • Ensuite, créez l’objet LoadRequest avec WordProcessingLoadOptions comme argument.
  • Ensuite, appelez la méthode EditApi.load() avec l’objet LoadRequest pour charger le fichier DOCX d’entrée.
  • Après cela, créez le DownloadFileRequest avec le fichier chargé.
  • Ensuite, appelez la méthode FileApi.download\file() pour télécharger le fichier en tant que document HTML.
  • Ensuite, lisez le fichier HTML téléchargé sous forme de chaîne.
  • Modifiez ensuite le code HTML et enregistrez le document HTML mis à jour.
  • Ensuite, créez UploadFileRequest et transmettez le chemin HTML et le fichier en tant que paramètres.
  • Ensuite, appelez la méthode FileApi.upload\file() avec UploadFileRequest pour télécharger le fichier HTML mis à jour.
  • Ensuite, créez une instance de WordProcessingSaveOptions à enregistrer dans le DOCX.
  • Après cela, créez SaveRequest avec l’objet WordProcessingSaveOptions.
  • Enfin, enregistrez le HTML dans DOCX à l’aide de la méthode EditApi.save() avec l’objet SaveRequest.

L’exemple de code suivant montre comment modifier un document Word à l’aide d’une API REST en Python.

# Initialiser les instances des API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Indiquez le chemin du fichier d'entrée
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Définissez ChargerOptions pour le charger dans un état modifiable
loadOptions = groupdocs_editor_cloud.WordProcessingChargerOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Créer une demande de chargement
loadRequest = groupdocs_editor_cloud.ChargerRequest(loadOptions)

# Charger
loadResult = editApi.load(loadRequest)        

# Créer une demande de téléchargement
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Télécharger le document html
htmlFile = fileApi.download_file(downloadRequest)

# Lire le document html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Modifier quelque chose...    
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")

# Réécrire le code HTML dans le fichier
with open(htmlFile, 'w') as file:
    file.write(html)

# Créer une demande de téléchargement
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Téléverser un fichier
fileApi.upload_file(uploadRequest)

# Enregistrer le html dans docx
saveOptions = groupdocs_editor_cloud.WordProcessingSauvegarderOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Créer une demande de sauvegarde
saveRequest = groupdocs_editor_cloud.SauvegarderRequest(saveOptions)

# Sauvegarder
saveResult = editApi.save(saveRequest)

# Fait
print("Document edited: " + saveResult.path)
Modifiez des documents Word à l'aide de l'API REST en Python.

Modifiez des documents Word à l’aide de l’API REST en Python.

Télécharger le fichier mis à jour

L’exemple de code ci-dessus enregistrera le document Word modifié (DOCX) sur le cloud. Il peut être téléchargé à l’aide de l’exemple de code suivant :

# Initialisation de l'API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Créer une demande de fichier de téléchargement
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", 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\\Editor\\")

Ajouter un tableau dans des documents Word à l’aide de Python

Nous pouvons ajouter une table dans des documents Word par programme en suivant les étapes mentionnées précédemment. Cependant, nous devons mettre à jour le code HTML pour ajouter un tableau dans le document, comme indiqué ci-dessous :

html = html.replace("left-aligned.", """left-aligned. <br/><table style="width: 100%;background-color: #dddddd;">
	<caption style=\"font-weight:bold;\"> Persons List</caption>
	<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
	<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
	<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
	</table>""")

L’exemple de code suivant montre comment ajouter un tableau dans un document Word à l’aide d’une API REST en Python. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

# Initialiser les instances des API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Indiquez le chemin du fichier d'entrée
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Définissez ChargerOptions pour le charger dans un état modifiable
loadOptions = groupdocs_editor_cloud.WordProcessingChargerOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Créer une demande de chargement
loadRequest = groupdocs_editor_cloud.ChargerRequest(loadOptions)

# Charger
loadResult = editApi.load(loadRequest)        

# Créer une demande de téléchargement
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Télécharger le document html
htmlFile = fileApi.download_file(downloadRequest)

# Lire le document html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Insérer un tableau
html = html.replace("left-aligned.", """left-aligned. <br/><table style="width: 100%;background-color: #dddddd;">
  <caption style=\"font-weight:bold;\"> Persons List</caption>
  <tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
  <tr><td>Jill</td><td>Smith</td><td>50</td></tr>
  <tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
  </table>""")

# Réécrire le code HTML dans le fichier
with open(htmlFile, 'w') as file:
    file.write(html)

# Créer une demande de téléchargement
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Téléverser un fichier
fileApi.upload_file(uploadRequest)

# Enregistrer le html dans docx
saveOptions = groupdocs_editor_cloud.WordProcessingSauvegarderOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Créer une demande de sauvegarde
saveRequest = groupdocs_editor_cloud.SauvegarderRequest(saveOptions)

# Sauvegarder
saveResult = editApi.save(saveRequest)

# Fait
print("Document edited: " + saveResult.path)
Ajouter un tableau dans des documents Word à l'aide de Python.

Ajouter un tableau dans des documents Word à l’aide de Python.

Insérer une image dans des documents Word à l’aide de Python

Nous pouvons insérer une image dans des documents Word par programmation en suivant les étapes mentionnées précédemment. Cependant, nous devons mettre à jour le HTML pour insérer une image dans le document comme indiqué ci-dessous :

html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");

L’exemple de code suivant montre comment insérer une image dans un document Word à l’aide d’une API REST en Python. Veuillez suivre les étapes mentionnées précédemment pour charger et télécharger un fichier.

# Initialiser les instances des API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Indiquez le chemin du fichier d'entrée
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Définissez ChargerOptions pour le charger dans un état modifiable
loadOptions = groupdocs_editor_cloud.WordProcessingChargerOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Créer une demande de chargement
loadRequest = groupdocs_editor_cloud.ChargerRequest(loadOptions)

# Charger
loadResult = editApi.load(loadRequest)        

# Créer une demande de téléchargement
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Télécharger le document html
htmlFile = fileApi.download_file(downloadRequest)

# Lire le document html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Insérer une image
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");

# Réécrire le code HTML dans le fichier
with open(htmlFile, 'w') as file:
    file.write(html)

# Créer une demande de téléchargement
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Téléverser un fichier
fileApi.upload_file(uploadRequest)

# Enregistrer le html dans docx
saveOptions = groupdocs_editor_cloud.WordProcessingSauvegarderOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Créer une demande de sauvegarde
saveRequest = groupdocs_editor_cloud.SauvegarderRequest(saveOptions)

# Sauvegarder
saveResult = editApi.save(saveRequest)

# Fait
print("Document edited: " + saveResult.path)
Modifier des documents Word à l'aide de l'API REST en Python

Insérer une image dans des documents Word à l’aide de Python.

Essayez en ligne

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

Conclusion

Dans cet article, nous avons appris à modifier des documents Word sur le cloud. Nous avons également vu comment ajouter un tableau ou insérer une image dans le fichier DOCX à l’aide d’une API REST en Python. Cet article a également expliqué comment télécharger par programmation un fichier DOCX dans le cloud, puis télécharger le fichier modifié à partir du cloud. En outre, 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