Upravujte dokumenty Word pomocí REST API v Pythonu

V určitých případech může být nutné upravit dokumenty Wordu programově. Můžeme snadno přidávat, upravovat nebo mazat obsah souborů DOC nebo DOCX nebo aplikovat formátování textu pomocí Pythonu. V tomto článku se naučíme, jak upravovat dokumenty Word pomocí REST API v Pythonu.

Tento článek bude obsahovat následující témata:

Editor dokumentů Word REST API a Python SDK

Pro úpravy souborů DOCX budeme používat Python SDK of GroupDocs.Editor Cloud API. Nainstalujte jej pomocí následujícího příkazu v konzole:

pip install groupdocs_editor_cloud

Před provedením uvedených kroků získejte své ID klienta a tajný klíč z řídicího panelu. Jakmile budete mít své ID a tajemství, přidejte kód, jak je uvedeno níže:

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

Upravujte dokumenty Word pomocí REST API v Pythonu

Dokumenty aplikace Word můžeme upravovat podle jednoduchých kroků uvedených níže:

  1. Nahrajte soubor DOCX do cloudu
  2. Upravit Dokument aplikace Word používající Python
  3. Stáhnout aktualizovaný soubor

Nahrajte dokument

Nejprve nahrajeme soubor DOCX do cloudu pomocí níže uvedeného příkladu kódu:

# Vytvořte instanci rozhraní API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Nahrajte ukázkové soubory
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)

V důsledku toho bude nahraný soubor DOCX dostupný v sekce souborů řídicího panelu v cloudu.

Upravte dokument Word pomocí Pythonu

Dokument Word můžeme upravit programově podle následujících kroků:

  • Nejprve vytvořte instance FileApi a EditApi.
  • Dále vytvořte instanci FileInfo a zadejte vstupní cestu k souboru DOCX.
  • Poté inicializujte instanci WordProcessingLoadOptions a přiřaďte FileInfo.
  • Dále vytvořte LoadRequest s objektem WordProcessingLoadOptions jako argumentem.
  • Poté zavolejte metodu EditApi.load() s objektem LoadRequest a načtěte vstupní soubor DOCX.
  • Poté vytvořte DownloadFileRequest s načteným souborem.
  • Poté zavolejte metodu FileApi.download\file() a stáhněte soubor jako dokument HTML.
  • Dále načtěte stažený soubor HTML jako řetězec.
  • Potom upravte HTML a uložte aktualizovaný HTML dokument.
  • Dále vytvořte UploadFileRequest a předejte HTML cestu a soubor jako parametry.
  • Poté zavolejte metodu FileApi.upload\file() s UploadFileRequest a nahrajte aktualizovaný soubor HTML.
  • Dále vytvořte instanci WordProcessingSaveOptions pro uložení do DOCX.
  • Poté vytvořte SaveRequest s objektem WordProcessingSaveOptions.
  • Nakonec uložte HTML zpět do DOCX pomocí metody EditApi.save() s objektem SaveRequest.

Následující ukázka kódu ukazuje, jak upravit dokument aplikace Word pomocí rozhraní REST API v Pythonu.

# Inicializujte instance rozhraní API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Zadejte cestu k vstupnímu souboru
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Definujte ZatíženíOptions, abyste jej načetli do upravitelného stavu
loadOptions = groupdocs_editor_cloud.WordProcessingZatíženíOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Vytvořit požadavek na načtení
loadRequest = groupdocs_editor_cloud.ZatíženíRequest(loadOptions)

# Zatížení
loadResult = editApi.load(loadRequest)        

# Vytvořit požadavek na stažení
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Stáhněte si html dokument
htmlFile = fileApi.download_file(downloadRequest)

# Přečtěte si html dokument
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Upravit něco...    
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")

# Napište html zpět do souboru
with open(htmlFile, 'w') as file:
    file.write(html)

# Vytvořit požadavek na nahrání
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Nahrát soubor
fileApi.upload_file(uploadRequest)

# Uložit html zpět do docx
saveOptions = groupdocs_editor_cloud.WordProcessingUložitOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Vytvořit požadavek na uložení
saveRequest = groupdocs_editor_cloud.UložitRequest(saveOptions)

# Uložit
saveResult = editApi.save(saveRequest)

# Hotovo
print("Document edited: " + saveResult.path)
Upravujte dokumenty Word pomocí REST API v Pythonu.

Upravujte dokumenty Word pomocí REST API v Pythonu.

Stáhněte si aktualizovaný soubor

Výše uvedená ukázka kódu uloží upravený dokument aplikace Word (DOCX) do cloudu. Lze jej stáhnout pomocí následující ukázky kódu:

# Inicializace API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Vytvořit požadavek na stažení souboru
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)

# Stáhnout soubor
response = file_api.download_file(request)

# Přesuňte stažený soubor do svého pracovního adresáře
shutil.move(response, "C:\\Files\\Editor\\")

Přidejte tabulku do dokumentů aplikace Word pomocí Pythonu

Tabulku do dokumentů aplikace Word můžeme přidat programově podle výše uvedených kroků. Potřebujeme však aktualizovat HTML, abychom do dokumentu přidali tabulku, jak je uvedeno níže:

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

Následující ukázka kódu ukazuje, jak přidat tabulku do dokumentu Word pomocí REST API v Pythonu. Chcete-li nahrát a stáhnout soubor, postupujte podle výše uvedených kroků.

# Inicializujte instance rozhraní API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Zadejte cestu k vstupnímu souboru
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Definujte ZatíženíOptions, abyste jej načetli do upravitelného stavu
loadOptions = groupdocs_editor_cloud.WordProcessingZatíženíOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Vytvořit požadavek na načtení
loadRequest = groupdocs_editor_cloud.ZatíženíRequest(loadOptions)

# Zatížení
loadResult = editApi.load(loadRequest)        

# Vytvořit požadavek na stažení
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Stáhněte si html dokument
htmlFile = fileApi.download_file(downloadRequest)

# Přečtěte si html dokument
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Vložit tabulku
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>""")

# Napište html zpět do souboru
with open(htmlFile, 'w') as file:
    file.write(html)

# Vytvořit požadavek na nahrání
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Nahrát soubor
fileApi.upload_file(uploadRequest)

# Uložit html zpět do docx
saveOptions = groupdocs_editor_cloud.WordProcessingUložitOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Vytvořit požadavek na uložení
saveRequest = groupdocs_editor_cloud.UložitRequest(saveOptions)

# Uložit
saveResult = editApi.save(saveRequest)

# Hotovo
print("Document edited: " + saveResult.path)
Přidejte tabulku do dokumentů aplikace Word pomocí Pythonu.

Přidejte tabulku do dokumentů aplikace Word pomocí Pythonu.

Vložte obrázek do dokumentů aplikace Word pomocí Pythonu

Obrázek můžeme do dokumentů aplikace Word vložit programově podle výše uvedených kroků. Potřebujeme však aktualizovat kód HTML, abychom do dokumentu vložili obrázek, jak je uvedeno níže:

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

Následující ukázka kódu ukazuje, jak vložit obrázek do dokumentu aplikace Word pomocí rozhraní REST API v Pythonu. Chcete-li nahrát a stáhnout soubor, postupujte podle výše uvedených kroků.

# Inicializujte instance rozhraní API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Zadejte cestu k vstupnímu souboru
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Definujte ZatíženíOptions, abyste jej načetli do upravitelného stavu
loadOptions = groupdocs_editor_cloud.WordProcessingZatíženíOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Vytvořit požadavek na načtení
loadRequest = groupdocs_editor_cloud.ZatíženíRequest(loadOptions)

# Zatížení
loadResult = editApi.load(loadRequest)        

# Vytvořit požadavek na stažení
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Stáhněte si html dokument
htmlFile = fileApi.download_file(downloadRequest)

# Přečtěte si html dokument
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

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

# Napište html zpět do souboru
with open(htmlFile, 'w') as file:
    file.write(html)

# Vytvořit požadavek na nahrání
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Nahrát soubor
fileApi.upload_file(uploadRequest)

# Uložit html zpět do docx
saveOptions = groupdocs_editor_cloud.WordProcessingUložitOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Vytvořit požadavek na uložení
saveRequest = groupdocs_editor_cloud.UložitRequest(saveOptions)

# Uložit
saveResult = editApi.save(saveRequest)

# Hotovo
print("Document edited: " + saveResult.path)
Upravujte dokumenty Word pomocí REST API v Pythonu

Vložit obrázek do dokumentů aplikace Word pomocí Pythonu.

Vyzkoušejte online

Vyzkoušejte prosím následující bezplatný online nástroj pro úpravy DOCX, který je vyvinut pomocí výše uvedeného API. https://products.groupdocs.app/editor/docx

Závěr

V tomto článku jsme se naučili, jak upravovat dokumenty Wordu v cloudu. Také jsme viděli, jak přidat tabulku nebo vložit obrázek do souboru DOCX pomocí REST API v Pythonu. Tento článek také vysvětlil, jak programově nahrát soubor DOCX do cloudu a poté stáhnout upravený soubor z cloudu. Kromě toho se můžete dozvědět více o GroupDocs.Editor Cloud API pomocí dokumentace. Poskytujeme také sekci API Reference, která vám umožní vizualizovat a pracovat s našimi API přímo prostřednictvím prohlížeče. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také