У деяких випадках нам може знадобитися програмне редагування документів Word. Ми можемо легко додавати, редагувати або видаляти вміст файлів DOC або DOCX або застосовувати форматування тексту за допомогою Python. У цій статті ми дізнаємося, як редагувати документи Word за допомогою REST API у Python.
У цій статті будуть розглянуті такі теми:
- Редактор документів Word REST API та Python SDK
- Редагуйте документ Word за допомогою REST API у Python
- Додайте таблицю в документи Word за допомогою Python
- Вставте зображення в документи Word за допомогою Python
Редактор документів Word REST API та Python SDK
Для редагування файлів DOCX ми будемо використовувати API Python SDK GroupDocs.Editor Cloud. Встановіть його за допомогою такої команди в консолі:
pip install groupdocs_editor_cloud
Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:
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 = ""
Редагуйте документи Word за допомогою REST API у Python
Ми можемо редагувати документи Word, дотримуючись простих кроків, згаданих нижче:
- Завантажте файл DOCX у хмару
- Редагувати Документ Word із використанням Python
- Завантажити оновлений файл
Завантажте документ
По-перше, ми завантажимо файл DOCX у хмару за допомогою наведеного нижче прикладу коду:
# Створіть екземпляр API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# Завантажте зразки файлів
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)
У результаті завантажений файл DOCX буде доступний у розділі файлів інформаційної панелі в хмарі.
Редагувати документ Word за допомогою Python
Ми можемо редагувати документ Word програмно, виконавши наведені нижче дії.
- По-перше, створіть екземпляри FileApi і EditApi.
- Далі створіть екземпляр FileInfo та вкажіть шлях до вхідного файлу DOCX.
- Потім ініціалізуйте екземпляр WordProcessingLoadOptions і призначте FileInfo.
- Далі створіть LoadRequest з об’єктом WordProcessingLoadOptions як аргументом.
- Потім викличте метод EditApi.load() з об’єктом LoadRequest, щоб завантажити вхідний файл DOCX.
- Після цього створіть DownloadFileRequest із завантаженим файлом.
- Потім викличте метод FileApi.download\file(), щоб завантажити файл як документ HTML.
- Далі прочитайте завантажений файл HTML як рядок.
- Потім відредагуйте HTML і збережіть оновлений HTML-документ.
- Далі створіть UploadFileRequest і передайте HTML-шлях і файл як параметри.
- Потім викличте метод FileApi.upload\file() за допомогою UploadFileRequest, щоб завантажити оновлений файл HTML.
- Далі створіть екземпляр WordProcessingSaveOptions для збереження в DOCX.
- Після цього створіть SaveRequest з об’єктом WordProcessingSaveOptions.
- Зрештою, збережіть HTML назад у DOCX за допомогою методу EditApi.save() з об’єктом SaveRequest.
У наведеному нижче прикладі коду показано, як редагувати документ Word за допомогою REST API у Python.
# Ініціалізуйте екземпляри API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Укажіть шлях до вхідного файлу
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Визначте навантаженняOptions, щоб завантажити його в стан для редагування
loadOptions = groupdocs_editor_cloud.WordProcessingнавантаженняOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Створити запит на завантаження
loadRequest = groupdocs_editor_cloud.навантаженняRequest(loadOptions)
# навантаження
loadResult = editApi.load(loadRequest)
# Створити запит на завантаження
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Завантажити html документ
htmlFile = fileApi.download_file(downloadRequest)
# Прочитайте документ html
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Редагувати щось...
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")
# Записати html назад у файл
with open(htmlFile, 'w') as file:
file.write(html)
# Створити запит на завантаження
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Завантажити файл
fileApi.upload_file(uploadRequest)
# Збережіть html назад у docx
saveOptions = groupdocs_editor_cloud.WordProcessingзберегтиOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Створити запит на збереження
saveRequest = groupdocs_editor_cloud.зберегтиRequest(saveOptions)
# зберегти
saveResult = editApi.save(saveRequest)
# Готово
print("Document edited: " + saveResult.path)
Завантажте оновлений файл
Наведений вище зразок коду збереже відредагований документ Word (DOCX) у хмарі. Його можна завантажити за допомогою наступного зразка коду:
# Ініціалізація API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# Створити запит на завантаження файлу
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)
# Завантажити файл
response = file_api.download_file(request)
# Перемістіть завантажений файл у свій робочий каталог
shutil.move(response, "C:\\Files\\Editor\\")
Додайте таблицю в документи Word за допомогою Python
Ми можемо програмно додати таблицю в документи Word, виконавши кроки, згадані раніше. Однак нам потрібно оновити HTML, щоб додати таблицю в документ, як показано нижче:
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>""")
У наведеному нижче прикладі коду показано, як додати таблицю в документ Word за допомогою REST API у Python. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.
# Ініціалізуйте екземпляри API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Укажіть шлях до вхідного файлу
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Визначте навантаженняOptions, щоб завантажити його в стан для редагування
loadOptions = groupdocs_editor_cloud.WordProcessingнавантаженняOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Створити запит на завантаження
loadRequest = groupdocs_editor_cloud.навантаженняRequest(loadOptions)
# навантаження
loadResult = editApi.load(loadRequest)
# Створити запит на завантаження
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Завантажити html документ
htmlFile = fileApi.download_file(downloadRequest)
# Прочитайте документ html
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Вставити таблицю
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>""")
# Записати html назад у файл
with open(htmlFile, 'w') as file:
file.write(html)
# Створити запит на завантаження
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Завантажити файл
fileApi.upload_file(uploadRequest)
# Збережіть html назад у docx
saveOptions = groupdocs_editor_cloud.WordProcessingзберегтиOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Створити запит на збереження
saveRequest = groupdocs_editor_cloud.зберегтиRequest(saveOptions)
# зберегти
saveResult = editApi.save(saveRequest)
# Готово
print("Document edited: " + saveResult.path)
Вставте зображення в документи Word за допомогою Python
Ми можемо програмно вставити зображення в документи Word, виконавши кроки, згадані раніше. Однак нам потрібно оновити HTML, щоб вставити зображення в документ, як показано нижче:
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
У наведеному нижче прикладі коду показано, як вставити зображення в документ Word за допомогою REST API у Python. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.
# Ініціалізуйте екземпляри API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)
# Укажіть шлях до вхідного файлу
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")
# Визначте навантаженняOptions, щоб завантажити його в стан для редагування
loadOptions = groupdocs_editor_cloud.WordProcessingнавантаженняOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
# Створити запит на завантаження
loadRequest = groupdocs_editor_cloud.навантаженняRequest(loadOptions)
# навантаження
loadResult = editApi.load(loadRequest)
# Створити запит на завантаження
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)
# Завантажити html документ
htmlFile = fileApi.download_file(downloadRequest)
# Прочитайте документ html
html = ""
with open(htmlFile, 'r') as file:
html = file.read()
# Вставте зображення
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
# Записати html назад у файл
with open(htmlFile, 'w') as file:
file.write(html)
# Створити запит на завантаження
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)
# Завантажити файл
fileApi.upload_file(uploadRequest)
# Збережіть html назад у docx
saveOptions = groupdocs_editor_cloud.WordProcessingзберегтиOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
# Створити запит на збереження
saveRequest = groupdocs_editor_cloud.зберегтиRequest(saveOptions)
# зберегти
saveResult = editApi.save(saveRequest)
# Готово
print("Document edited: " + saveResult.path)
Спробуйте онлайн
Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент для редагування DOCX, розроблений за допомогою наведеного вище API. https://products.groupdocs.app/editor/docx
Висновок
У цій статті ми дізналися, як редагувати документи Word у хмарі. Ми також бачили, як додати таблицю або вставити зображення у файл DOCX за допомогою REST API у Python. У цій статті також пояснюється, як програмно завантажити файл DOCX у хмару, а потім завантажити відредагований файл із хмари. Крім того, ви можете дізнатися більше про GroupDocs.Editor Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.