Як розробнику Python вам може знадобитися програмно редагувати документи Word або Excel. Ви можете оновлювати такі документи, не встановлюючи жодних зовнішніх програм. У цій статті мова піде про те, як редагувати документи Word або Excel за допомогою REST API.

У цій статті будуть розглянуті такі теми:

Редактор документів REST API та Python SDK

Сімейство хмарних продуктів GroupDocs.Editor

Для редагування документів Word або аркушів Excel я буду використовувати API Python SDK of GroupDocs.Editor Cloud. Він дозволяє програмно редагувати документи обробки Word, аркуші Excel або документи інших підтримуваних форматів. Він також надає .NET, Java, PHP, Ruby, Android і Node.js SDK як члени родини редакторів документів для Cloud API.

Ви можете встановити GroupDocs.Editor-Cloud у свій проект Python за допомогою такої команди в консолі:

pip install groupdocs_editor_cloud

Будь ласка, отримайте свій ідентифікатор клієнта та секрет клієнта з інформаційної панелі, перш ніж почати виконувати кроки та доступні приклади коду. Додайте свій ідентифікатор і секрет у код, як показано нижче:

client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

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

Редагуйте документ Word за допомогою REST API

Ви можете редагувати документ Word, виконавши прості кроки, згадані нижче:

Завантажте документ

Перш за все, завантажте документ Word у хмару, використовуючи наведений нижче приклад коду:

storage_api = groupdocs_editor_cloud.StorageApi.from_config(config_info)
file_api = groupdocs_editor_cloud.FileApi.from_config(config_info)

# завантажити файл зразка
files = glob.glob("C:\\Files\\sample_word_document.docx", recursive=False)
destination_file = files[0].replace("C:\\Files\\", "", 1)
file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(destination_file, files[0]))

У результаті файл Word буде завантажено в хмарне сховище та доступний у розділі файлів вашої інформаційної панелі.

Редагувати документ Word на Python

Будь ласка, виконайте наведені нижче кроки, щоб програмно редагувати документ Word.

  • Створіть екземпляри File API і Edit API.
  • Надайте WordProcessingLoadOptions
  • Завантажте файл за допомогою методу Load Edit API
  • Завантажте HTML-документ за допомогою методу Завантажити файл File API
  • Редагувати документ HTML
  • Завантажте HTML назад за допомогою методу Завантажити файл File API
  • Надайте WordProcessingSaveOptions для збереження в DOCX
  • Збережіть HTML назад у DOCX за допомогою методу Save Edit API

У наведеному нижче фрагменті коду показано, як оновити документ Word за допомогою REST API.

# Створіть необхідні екземпляри API
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Документ уже завантажено в сховище.
# Завантажте його в стан для редагування
file_info = groupdocs_editor_cloud.FileInfo("sample_word_document.docx", None, None, None)
load_options = groupdocs_editor_cloud.WordProcessingLoadOptions()
load_options.file_info = file_info
load_options.output_path = "output"
load_result = edit_api.load(groupdocs_editor_cloud.LoadRequest(load_options))

# Завантажити html документ
html_file = file_api.download_file(groupdocs_editor_cloud.DownloadFileRequest(load_result.html_path))
html = ""
with open(html_file, 'r') as file:
    html = file.read()

# Редагувати щось...
html = html.replace("Sample test text", "Hello world")

# Завантажте html назад у сховище
with open(html_file, 'w') as file:
    file.write(html)

file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))

# Збережіть html назад у docx
save_options = groupdocs_editor_cloud.WordProcessingSaveOptions()
save_options.file_info = file_info
save_options.output_path = "output/edited.docx"
save_options.html_path = load_result.html_path
save_options.resources_path = load_result.resources_path
save_result = edit_api.save(groupdocs_editor_cloud.SaveRequest(save_options))

# Готово
print("Document edited: " + save_result.path)

Завантажте оновлений файл

Наведений вище зразок коду збереже відредагований файл Word у хмарі. Ви можете завантажити його за допомогою наступного зразка коду:

request = groupdocs_editor_cloud.DownloadFileRequest("output\\edited.docx", my_storage)
response = file_api.download_file(request)

# Перемістіть завантажений файл у свій робочий каталог
shutil.move(response, "C:\\Files\\")

Редагуйте таблицю Excel за допомогою REST API

Будь ласка, виконайте наведені нижче кроки, щоб програмно редагувати аркуш Excel.

  • Створіть екземпляри File API і Edit API.
  • Надайте SpreadsheetLoadOptions
  • Завантажте файл за допомогою методу Load Edit API
  • Завантажте HTML-документ за допомогою методу Завантажити файл File API
  • Редагувати документ HTML
  • Завантажте HTML назад за допомогою методу Завантажити файл File API
  • Надайте SpreadsheetSaveOptions для збереження в XLSX
  • Збережіть HTML назад у XLSX за допомогою методу Save Edit API

Наведений нижче простий приклад коду демонструє, як оновити аркуш Excel за допомогою REST API. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файл.

# Створіть необхідні екземпляри API
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configurations)

# Документ уже завантажено в сховище.
# Завантажте його в стан для редагування
file_info = groupdocs_editor_cloud.FileInfo("sample_four_sheets.xlsx")
load_options = groupdocs_editor_cloud.SpreadsheetLoadOptions()
load_options.file_info = file_info
load_options.output_path = "output"
load_options.worksheet_index = 0
load_result = edit_api.load(groupdocs_editor_cloud.LoadRequest(load_options))

# Завантажити html документ
html_file = file_api.download_file(groupdocs_editor_cloud.DownloadFileRequest(load_result.html_path))
html = ""
with open(html_file, 'r') as file:
    html = file.read()

# Редагувати щось...
html = html.replace("This is sample sheet", "This is sample sheep")

# Завантажте html назад у сховище
with open(html_file, 'w') as file:
    file.write(html)

file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))

# Збережіть html назад у xlsx
save_options = groupdocs_editor_cloud.SpreadsheetSaveOptions()
save_options.file_info = file_info
save_options.output_path = "output/edited.xlsx"
save_options.html_path = load_result.html_path
save_options.resources_path = load_result.resources_path
save_result = edit_api.save(groupdocs_editor_cloud.SaveRequest(save_options))

# Готово
print("Excel sheet edited: " + save_result.path)

Висновок

У цій статті ви дізналися, як редагувати документи Word або аркуші Excel у хмарі за допомогою REST API редактора документів за допомогою Python. Ви також дізналися, як програмно завантажити файли в хмару, а потім завантажити оновлені файли з хмари. Ви можете дізнатися більше про GroupDocs.Editor Cloud API, використовуючи документацію. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-якої неясності зв’яжіться з нами на форумі.

Дивись також