Chỉnh sửa Tài liệu Word bằng API REST trong Python

Trong một số trường hợp nhất định, chúng tôi có thể cần chỉnh sửa tài liệu Word theo chương trình. Chúng ta có thể dễ dàng thêm, chỉnh sửa hoặc xóa nội dung của tệp DOC hoặc DOCX hoặc áp dụng định dạng văn bản bằng Python. Trong bài viết này, chúng ta sẽ tìm hiểu cách chỉnh sửa tài liệu Word bằng API REST trong Python.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

Trình chỉnh sửa tài liệu Word API REST và SDK Python

Để chỉnh sửa các tệp DOCX, chúng tôi sẽ sử dụng Python SDK của GroupDocs.Editor Cloud API. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

pip install groupdocs_editor_cloud

Vui lòng lấy Client ID và Secret của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

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

Chỉnh sửa Tài liệu Word bằng API REST trong Python

Chúng tôi có thể chỉnh sửa tài liệu Word bằng cách thực hiện theo các bước đơn giản được đề cập bên dưới:

  1. Tải lên tệp DOCX lên Đám mây
  2. Chỉnh sửa Tài liệu Word sử dụng Python
  3. Tải xuống tệp đã cập nhật

Tải lên tài liệu

Đầu tiên, chúng tôi sẽ tải tệp DOCX lên Đám mây bằng ví dụ mã được cung cấp bên dưới:

# Tạo một phiên bản của API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Tải lên các tệp mẫu
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)

Do đó, tệp DOCX đã tải lên sẽ có sẵn trong phần tệp của trang tổng quan trên đám mây.

Chỉnh sửa tài liệu Word bằng Python

Chúng tôi có thể chỉnh sửa tài liệu Word theo chương trình bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tạo các phiên bản của FileApiEditApi.
  • Tiếp theo, tạo một phiên bản của FileInfo và cung cấp đường dẫn tệp DOCX đầu vào.
  • Sau đó, khởi tạo một phiên bản của WordProcessingLoadOptions và gán FileInfo.
  • Tiếp theo, tạo đối tượng LoadRequest với WordProcessingLoadOptions làm đối số.
  • Sau đó, gọi phương thức EditApi.load() với đối tượng LoadRequest để tải tệp DOCX đầu vào.
  • Sau đó, tạo DownloadFileRequest với tệp đã tải.
  • Sau đó, gọi phương thức FileApi.download\file() để tải xuống tệp dưới dạng tài liệu HTML.
  • Tiếp theo, đọc tệp HTML đã tải xuống dưới dạng chuỗi.
  • Sau đó, chỉnh sửa HTML và lưu tài liệu HTML đã cập nhật.
  • Tiếp theo, tạo UploadFileRequest và chuyển đường dẫn và tệp HTML làm tham số.
  • Sau đó, gọi phương thức FileApi.upload\file() với UploadFileRequest để tải lên tệp HTML đã cập nhật.
  • Tiếp theo, tạo một phiên bản của WordProcessingSaveOptions để lưu vào DOCX.
  • Sau đó, tạo SaveRequest với đối tượng WordProcessingSaveOptions.
  • Cuối cùng, lưu HTML trở lại DOCX bằng phương thức EditApi.save() với đối tượng SaveRequest.

Mẫu mã sau đây cho biết cách chỉnh sửa tài liệu Word bằng API REST trong Python.

# Khởi tạo các thể hiện của API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Cung cấp đường dẫn tệp đầu vào
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Xác định Trọng tảiOptions để tải nó vào trạng thái có thể chỉnh sửa
loadOptions = groupdocs_editor_cloud.WordProcessingTrọng tảiOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Tạo yêu cầu tải
loadRequest = groupdocs_editor_cloud.Trọng tảiRequest(loadOptions)

# Trọng tải
loadResult = editApi.load(loadRequest)        

# Tạo yêu cầu tải xuống
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Tải xuống tài liệu html
htmlFile = fileApi.download_file(downloadRequest)

# Đọc tài liệu html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Chỉnh sửa gì đó...    
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")

# Viết html trở lại tập tin
with open(htmlFile, 'w') as file:
    file.write(html)

# Tạo yêu cầu tải lên
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Cập nhật dử liệu
fileApi.upload_file(uploadRequest)

# Lưu html trở lại docx
saveOptions = groupdocs_editor_cloud.WordProcessingCứuOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Tạo yêu cầu lưu
saveRequest = groupdocs_editor_cloud.CứuRequest(saveOptions)

# Cứu
saveResult = editApi.save(saveRequest)

# Xong
print("Document edited: " + saveResult.path)
Chỉnh sửa Tài liệu Word bằng API REST trong Python.

Chỉnh sửa Tài liệu Word bằng API REST trong Python.

Tải xuống tệp cập nhật

Mẫu mã trên sẽ lưu tài liệu Word đã chỉnh sửa (DOCX) trên đám mây. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:

# khởi tạo API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Tạo yêu cầu tệp tải xuống
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)

# Tải tập tin
response = file_api.download_file(request)

# Di chuyển tệp đã tải xuống vào thư mục làm việc của bạn
shutil.move(response, "C:\\Files\\Editor\\")

Thêm bảng trong tài liệu Word bằng Python

Chúng ta có thể thêm bảng trong tài liệu Word theo cách lập trình bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta cần cập nhật HTML để thêm bảng vào tài liệu như hình bên dưới:

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

Mẫu mã sau đây cho biết cách thêm bảng trong tài liệu Word bằng API REST trong Python. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống tệp.

# Khởi tạo các thể hiện của API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Cung cấp đường dẫn tệp đầu vào
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Xác định Trọng tảiOptions để tải nó vào trạng thái có thể chỉnh sửa
loadOptions = groupdocs_editor_cloud.WordProcessingTrọng tảiOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Tạo yêu cầu tải
loadRequest = groupdocs_editor_cloud.Trọng tảiRequest(loadOptions)

# Trọng tải
loadResult = editApi.load(loadRequest)        

# Tạo yêu cầu tải xuống
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Tải xuống tài liệu html
htmlFile = fileApi.download_file(downloadRequest)

# Đọc tài liệu html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Chèn bảng
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>""")

# Viết html trở lại tập tin
with open(htmlFile, 'w') as file:
    file.write(html)

# Tạo yêu cầu tải lên
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Cập nhật dử liệu
fileApi.upload_file(uploadRequest)

# Lưu html trở lại docx
saveOptions = groupdocs_editor_cloud.WordProcessingCứuOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Tạo yêu cầu lưu
saveRequest = groupdocs_editor_cloud.CứuRequest(saveOptions)

# Cứu
saveResult = editApi.save(saveRequest)

# Xong
print("Document edited: " + saveResult.path)
Thêm bảng trong Tài liệu Word bằng Python.

Thêm bảng trong Tài liệu Word bằng Python.

Chèn hình ảnh vào tài liệu Word bằng Python

Chúng tôi có thể chèn hình ảnh vào tài liệu Word theo chương trình bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta cần cập nhật HTML để chèn hình ảnh vào tài liệu như hình bên dưới:

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

Mẫu mã sau đây cho biết cách chèn hình ảnh vào tài liệu Word bằng API REST trong Python. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống tệp.

# Khởi tạo các thể hiện của API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Cung cấp đường dẫn tệp đầu vào
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Xác định Trọng tảiOptions để tải nó vào trạng thái có thể chỉnh sửa
loadOptions = groupdocs_editor_cloud.WordProcessingTrọng tảiOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Tạo yêu cầu tải
loadRequest = groupdocs_editor_cloud.Trọng tảiRequest(loadOptions)

# Trọng tải
loadResult = editApi.load(loadRequest)        

# Tạo yêu cầu tải xuống
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Tải xuống tài liệu html
htmlFile = fileApi.download_file(downloadRequest)

# Đọc tài liệu html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Chèn một hình ảnh
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");

# Viết html trở lại tập tin
with open(htmlFile, 'w') as file:
    file.write(html)

# Tạo yêu cầu tải lên
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Cập nhật dử liệu
fileApi.upload_file(uploadRequest)

# Lưu html trở lại docx
saveOptions = groupdocs_editor_cloud.WordProcessingCứuOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Tạo yêu cầu lưu
saveRequest = groupdocs_editor_cloud.CứuRequest(saveOptions)

# Cứu
saveResult = editApi.save(saveRequest)

# Xong
print("Document edited: " + saveResult.path)
Chỉnh sửa Tài liệu Word bằng API REST trong Python

Chèn hình ảnh vào Tài liệu Word bằng Python.

Thử trực tuyến

Vui lòng dùng thử công cụ chỉnh sửa DOCX trực tuyến miễn phí sau đây, được phát triển bằng API trên. https://products.groupdocs.app/editor/docx

Phần kết luận

Trong bài viết này, chúng ta đã học cách chỉnh sửa tài liệu Word trên đám mây. Chúng tôi cũng đã xem cách thêm bảng hoặc chèn hình ảnh vào tệp DOCX bằng API REST trong Python. Bài viết này cũng giải thích cách lập trình tải tệp DOCX lên đám mây rồi tải xuống tệp đã chỉnh sửa từ Đám mây. Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Editor Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm