Edit Dokumen Word menggunakan REST API dengan Python

Dalam kasus tertentu, kita mungkin perlu mengedit dokumen Word secara terprogram. Kita dapat dengan mudah menambah, mengedit, atau menghapus konten file DOC atau DOCX atau menerapkan pemformatan teks menggunakan Python. Pada artikel ini, kita akan mempelajari cara mengedit dokumen Word menggunakan REST API dengan Python.

Topik-topik berikut akan dibahas dalam artikel ini:

Editor Dokumen Word REST API dan Python SDK

Untuk mengedit file DOCX, kami akan menggunakan Python SDK of GroupDocs.Editor Cloud API. Silakan instal menggunakan perintah berikut di konsol:

pip install groupdocs_editor_cloud

Harap dapatkan ID dan Rahasia Klien Anda dari dasbor sebelum mengikuti langkah-langkah yang disebutkan. Setelah Anda memiliki ID dan rahasia Anda, tambahkan kode seperti yang ditunjukkan di bawah ini:

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

Edit Dokumen Word menggunakan REST API dengan Python

Kami dapat mengedit dokumen Word dengan mengikuti langkah-langkah sederhana yang disebutkan di bawah ini:

  1. Unggah file DOCX ke Cloud
  2. Sunting Dokumen Word menggunakan Python
  3. Unduh file yang diperbarui

Unggah Dokumen

Pertama, kami akan mengunggah file DOCX ke Cloud menggunakan contoh kode di bawah ini:

# Buat instance API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Unggah file sampel
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)

Akibatnya, file DOCX yang diunggah akan tersedia di bagian file dasbor di cloud.

Edit Dokumen Word menggunakan Python

Kita dapat mengedit dokumen Word secara terprogram dengan mengikuti langkah-langkah berikut ini:

  • Pertama, buat instance dari FileApi dan EditApi.
  • Selanjutnya, buat instance dari FileInfo dan berikan input path file DOCX.
  • Kemudian, inisialisasi instance dari WordProcessingLoadOptions dan tetapkan FileInfo.
  • Selanjutnya, buat objek LoadRequest dengan WordProcessingLoadOptions sebagai argumen.
  • Kemudian, panggil metode EditApi.load() dengan objek LoadRequest untuk memuat file DOCX masukan.
  • Setelah itu, buat DownloadFileRequest dengan file yang dimuat.
  • Kemudian, panggil metode FileApi.download\file() untuk mengunduh file sebagai dokumen HTML.
  • Selanjutnya, baca file HTML yang diunduh sebagai string.
  • Kemudian, edit HTML dan simpan dokumen HTML yang diperbarui.
  • Selanjutnya, buat UploadFileRequest dan berikan jalur dan file HTML sebagai parameter.
  • Kemudian, panggil metode FileApi.upload\file() dengan UploadFileRequest untuk mengunggah file HTML yang diperbarui.
  • Selanjutnya, buat instance dari WordProcessingSaveOptions untuk disimpan di DOCX.
  • Setelah itu, buat SaveRequest dengan objek WordProcessingSaveOptions.
  • Terakhir, simpan kembali HTML ke DOCX menggunakan metode EditApi.save() dengan objek SaveRequest.

Contoh kode berikut menunjukkan cara mengedit dokumen Word menggunakan REST API dengan Python.

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

# Berikan jalur file input
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Tentukan MemuatOptions untuk memuatnya ke status yang dapat diedit
loadOptions = groupdocs_editor_cloud.WordProcessingMemuatOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Buat permintaan beban
loadRequest = groupdocs_editor_cloud.MemuatRequest(loadOptions)

# Memuat
loadResult = editApi.load(loadRequest)        

# Buat permintaan unduhan
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Unduh dokumen html
htmlFile = fileApi.download_file(downloadRequest)

# Baca dokumen html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Mengedit sesuatu...    
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")

# Tulis html kembali ke file
with open(htmlFile, 'w') as file:
    file.write(html)

# Buat permintaan unggah
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Unggah data
fileApi.upload_file(uploadRequest)

# Simpan html kembali ke docx
saveOptions = groupdocs_editor_cloud.WordProcessingMenyimpanOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Buat permintaan simpan
saveRequest = groupdocs_editor_cloud.MenyimpanRequest(saveOptions)

# Menyimpan
saveResult = editApi.save(saveRequest)

# Selesai
print("Document edited: " + saveResult.path)
Edit Dokumen Word menggunakan REST API dengan Python.

Edit Dokumen Word menggunakan REST API dengan Python.

Unduh File yang Diperbarui

Contoh kode di atas akan menyimpan dokumen Word yang diedit (DOCX) di cloud. Itu dapat diunduh menggunakan contoh kode berikut:

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

# Buat permintaan file unduhan
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)

# Unduh berkas
response = file_api.download_file(request)

# Pindahkan file yang diunduh ke direktori kerja Anda
shutil.move(response, "C:\\Files\\Editor\\")

Tambahkan Tabel di Dokumen Word menggunakan Python

Kita dapat menambahkan tabel pada dokumen Word secara terprogram dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kami perlu memperbarui HTML untuk menambahkan tabel di dokumen seperti yang ditunjukkan di bawah ini:

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

Contoh kode berikut menunjukkan cara menambahkan tabel dalam dokumen Word menggunakan REST API dengan Python. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

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

# Berikan jalur file input
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Tentukan MemuatOptions untuk memuatnya ke status yang dapat diedit
loadOptions = groupdocs_editor_cloud.WordProcessingMemuatOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Buat permintaan beban
loadRequest = groupdocs_editor_cloud.MemuatRequest(loadOptions)

# Memuat
loadResult = editApi.load(loadRequest)        

# Buat permintaan unduhan
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Unduh dokumen html
htmlFile = fileApi.download_file(downloadRequest)

# Baca dokumen html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Sisipkan tabel
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>""")

# Tulis html kembali ke file
with open(htmlFile, 'w') as file:
    file.write(html)

# Buat permintaan unggah
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Unggah data
fileApi.upload_file(uploadRequest)

# Simpan html kembali ke docx
saveOptions = groupdocs_editor_cloud.WordProcessingMenyimpanOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Buat permintaan simpan
saveRequest = groupdocs_editor_cloud.MenyimpanRequest(saveOptions)

# Menyimpan
saveResult = editApi.save(saveRequest)

# Selesai
print("Document edited: " + saveResult.path)
Tambahkan Tabel di Dokumen Word menggunakan Python.

Tambahkan Tabel di Dokumen Word menggunakan Python.

Sisipkan Gambar di Dokumen Word menggunakan Python

Kita dapat memasukkan gambar ke dalam dokumen Word secara terprogram dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kami perlu memperbarui HTML untuk memasukkan gambar ke dalam dokumen seperti yang ditunjukkan di bawah ini:

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

Contoh kode berikut menunjukkan cara menyisipkan gambar dalam dokumen Word menggunakan REST API dengan Python. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

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

# Berikan jalur file input
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Tentukan MemuatOptions untuk memuatnya ke status yang dapat diedit
loadOptions = groupdocs_editor_cloud.WordProcessingMemuatOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Buat permintaan beban
loadRequest = groupdocs_editor_cloud.MemuatRequest(loadOptions)

# Memuat
loadResult = editApi.load(loadRequest)        

# Buat permintaan unduhan
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Unduh dokumen html
htmlFile = fileApi.download_file(downloadRequest)

# Baca dokumen html
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

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

# Tulis html kembali ke file
with open(htmlFile, 'w') as file:
    file.write(html)

# Buat permintaan unggah
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Unggah data
fileApi.upload_file(uploadRequest)

# Simpan html kembali ke docx
saveOptions = groupdocs_editor_cloud.WordProcessingMenyimpanOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Buat permintaan simpan
saveRequest = groupdocs_editor_cloud.MenyimpanRequest(saveOptions)

# Menyimpan
saveResult = editApi.save(saveRequest)

# Selesai
print("Document edited: " + saveResult.path)
Edit Dokumen Word menggunakan REST API dengan Python

Sisipkan Gambar di Dokumen Word menggunakan Python.

Coba Daring

Silakan coba alat pengeditan DOCX online gratis berikut, yang dikembangkan menggunakan API di atas. https://products.groupdocs.app/editor/docx

Kesimpulan

Pada artikel ini, kami telah mempelajari cara mengedit dokumen Word di cloud. Kami juga telah melihat cara menambahkan tabel atau menyisipkan gambar di file DOCX menggunakan REST API dengan Python. Artikel ini juga menjelaskan cara mengunggah file DOCX ke cloud secara terprogram dan kemudian mengunduh file yang diedit dari Cloud. Selain itu, Anda dapat mempelajari lebih lanjut tentang GroupDocs.Editor Cloud API menggunakan dokumentasi. Kami juga menyediakan bagian Referensi API yang memungkinkan Anda memvisualisasikan dan berinteraksi dengan API kami secara langsung melalui browser. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga