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
- Upravte dokument Word pomocí REST API v Pythonu
- Přidejte tabulku do dokumentů aplikace Word pomocí Pythonu
- Vložte obrázek do dokumentů aplikace Word pomocí Pythonu
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:
- Nahrajte soubor DOCX do cloudu
- Upravit Dokument aplikace Word používající Python
- 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)
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)
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)
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.