Modifica i documenti di Word utilizzando l'API REST in Python

In alcuni casi, potrebbe essere necessario modificare i documenti di Word a livello di codice. Possiamo facilmente aggiungere, modificare o eliminare il contenuto di file DOC o DOCX o applicare la formattazione del testo utilizzando Python. In questo articolo impareremo come modificare i documenti di Word utilizzando un’API REST in Python.

In questo articolo saranno trattati i seguenti argomenti:

API REST dell’editor di documenti di Word e SDK Python

Per modificare i file DOCX, utilizzeremo l’API Python SDK of GroupDocs.Editor Cloud. Si prega di installarlo utilizzando il seguente comando nella console:

pip install groupdocs_editor_cloud

Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:

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 = ""

Modifica i documenti di Word utilizzando l’API REST in Python

Possiamo modificare i documenti di Word seguendo i semplici passaggi indicati di seguito:

  1. Carica il file DOCX nel Cloud
  2. Modifica Documento Word usando Python
  3. Scarica il file aggiornato

Carica il documento

Innanzitutto, caricheremo il file DOCX nel Cloud utilizzando l’esempio di codice riportato di seguito:

# Crea un'istanza dell'API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Carica file di esempio
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)

Di conseguenza, il file DOCX caricato sarà disponibile nella sezione file della dashboard sul cloud.

Modifica documento Word usando Python

Possiamo modificare il documento di Word a livello di codice seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea istanze di FileApi e EditApi.
  • Successivamente, crea un’istanza di FileInfo e fornisci il percorso del file DOCX di input.
  • Quindi, inizializza un’istanza di WordProcessingLoadOptions e assegna FileInfo.
  • Successivamente, crea l’oggetto LoadRequest con WordProcessingLoadOptions come argomento.
  • Quindi, chiama il metodo EditApi.load() con l’oggetto LoadRequest per caricare il file DOCX di input.
  • Successivamente, crea DownloadFileRequest con il file caricato.
  • Quindi, chiama il metodo FileApi.download\file() per scaricare il file come documento HTML.
  • Successivamente, leggi il file HTML scaricato come una stringa.
  • Quindi, modifica l’HTML e salva il documento HTML aggiornato.
  • Successivamente, crea UploadFileRequest e passa il percorso e il file HTML come parametri.
  • Quindi, chiama il metodo FileApi.upload\file() con UploadFileRequest per caricare il file HTML aggiornato.
  • Successivamente, crea un’istanza di WordProcessingSaveOptions da salvare nel DOCX.
  • Successivamente, crea SaveRequest con l’oggetto WordProcessingSaveOptions.
  • Infine, salva l’HTML in DOCX utilizzando il metodo EditApi.save() con l’oggetto SaveRequest.

L’esempio di codice seguente mostra come modificare un documento di Word usando un’API REST in Python.

# Inizializza le istanze delle API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Fornire il percorso del file di input
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Definisci CaricoOptions per caricarlo in uno stato modificabile
loadOptions = groupdocs_editor_cloud.WordProcessingCaricoOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Crea richiesta di carico
loadRequest = groupdocs_editor_cloud.CaricoRequest(loadOptions)

# Carico
loadResult = editApi.load(loadRequest)        

# Crea richiesta di download
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Scarica documento html
htmlFile = fileApi.download_file(downloadRequest)

# Leggi il documento html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Modifica qualcosa...    
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")

# Riscrivi html nel file
with open(htmlFile, 'w') as file:
    file.write(html)

# Crea richiesta di caricamento
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Caricare un file
fileApi.upload_file(uploadRequest)

# Salva html in docx
saveOptions = groupdocs_editor_cloud.WordProcessingSalvaOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Crea richiesta di salvataggio
saveRequest = groupdocs_editor_cloud.SalvaRequest(saveOptions)

# Salva
saveResult = editApi.save(saveRequest)

# Fatto
print("Document edited: " + saveResult.path)
Modifica i documenti di Word utilizzando l'API REST in Python.

Modifica i documenti di Word utilizzando l’API REST in Python.

Scarica il file aggiornato

L’esempio di codice precedente salverà il documento Word modificato (DOCX) nel cloud. Può essere scaricato utilizzando il seguente esempio di codice:

# Inizializzazione dell'API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Crea richiesta di download del file
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)

# Download file
response = file_api.download_file(request)

# Sposta il file scaricato nella tua directory di lavoro
shutil.move(response, "C:\\Files\\Editor\\")

Aggiungi tabella nei documenti di Word usando Python

Possiamo aggiungere una tabella nei documenti di Word a livello di codice seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo aggiornare l’HTML per aggiungere una tabella nel documento come mostrato di seguito:

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’esempio di codice seguente mostra come aggiungere una tabella in un documento di Word usando un’API REST in Python. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

# Inizializza le istanze delle API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Fornire il percorso del file di input
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Definisci CaricoOptions per caricarlo in uno stato modificabile
loadOptions = groupdocs_editor_cloud.WordProcessingCaricoOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Crea richiesta di carico
loadRequest = groupdocs_editor_cloud.CaricoRequest(loadOptions)

# Carico
loadResult = editApi.load(loadRequest)        

# Crea richiesta di download
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Scarica documento html
htmlFile = fileApi.download_file(downloadRequest)

# Leggi il documento html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Inserisci tabella
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>""")

# Riscrivi html nel file
with open(htmlFile, 'w') as file:
    file.write(html)

# Crea richiesta di caricamento
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Caricare un file
fileApi.upload_file(uploadRequest)

# Salva html in docx
saveOptions = groupdocs_editor_cloud.WordProcessingSalvaOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Crea richiesta di salvataggio
saveRequest = groupdocs_editor_cloud.SalvaRequest(saveOptions)

# Salva
saveResult = editApi.save(saveRequest)

# Fatto
print("Document edited: " + saveResult.path)
Aggiungi tabella nei documenti di Word usando Python.

Aggiungi tabella nei documenti di Word usando Python.

Inserisci l’immagine nei documenti di Word usando Python

Possiamo inserire un’immagine nei documenti di Word a livello di codice seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo aggiornare l’HTML per inserire un’immagine nel documento come mostrato di seguito:

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

L’esempio di codice seguente mostra come inserire un’immagine in un documento di Word usando un’API REST in Python. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

# Inizializza le istanze delle API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Fornire il percorso del file di input
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Definisci CaricoOptions per caricarlo in uno stato modificabile
loadOptions = groupdocs_editor_cloud.WordProcessingCaricoOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Crea richiesta di carico
loadRequest = groupdocs_editor_cloud.CaricoRequest(loadOptions)

# Carico
loadResult = editApi.load(loadRequest)        

# Crea richiesta di download
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Scarica documento html
htmlFile = fileApi.download_file(downloadRequest)

# Leggi il documento html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

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

# Riscrivi html nel file
with open(htmlFile, 'w') as file:
    file.write(html)

# Crea richiesta di caricamento
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Caricare un file
fileApi.upload_file(uploadRequest)

# Salva html in docx
saveOptions = groupdocs_editor_cloud.WordProcessingSalvaOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Crea richiesta di salvataggio
saveRequest = groupdocs_editor_cloud.SalvaRequest(saveOptions)

# Salva
saveResult = editApi.save(saveRequest)

# Fatto
print("Document edited: " + saveResult.path)
Modifica i documenti di Word utilizzando l'API REST in Python

Inserisci l’immagine nei documenti di Word usando Python.

Prova in linea

Prova il seguente strumento di modifica DOCX online gratuito, sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/editor/docx

Conclusione

In questo articolo, abbiamo imparato come modificare i documenti di Word sul cloud. Abbiamo anche visto come aggiungere una tabella o inserire un’immagine nel file DOCX utilizzando una REST API in Python. Questo articolo spiega anche come caricare a livello di codice un file DOCX nel cloud e quindi scaricare il file modificato dal cloud. Inoltre, puoi saperne di più su GroupDocs.Editor Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di ambiguità, non esitate a contattarci sul forum.

Guarda anche