แก้ไขเอกสาร Word โดยใช้ REST API ใน Python

ในบางกรณี เราอาจต้องแก้ไขเอกสาร Word โดยทางโปรแกรม เราสามารถเพิ่ม แก้ไข หรือลบเนื้อหาของไฟล์ DOC หรือ DOCX หรือใช้การจัดรูปแบบข้อความโดยใช้ Python ได้อย่างง่ายดาย ในบทความนี้ เราจะมาเรียนรู้วิธีการแก้ไขเอกสาร Word โดยใช้ REST API ใน Python

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

โปรแกรมแก้ไขเอกสาร Word REST API และ Python SDK

สำหรับการแก้ไขไฟล์ DOCX เราจะใช้ API ของ Python SDK of GroupDocs.Editor Cloud โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:

pip install groupdocs_editor_cloud

โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:

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 ได้โดยทำตามขั้นตอนง่าย ๆ ดังต่อไปนี้

  1. อัปโหลด ไฟล์ DOCX ไปยังคลาวด์
  2. แก้ไข เอกสาร Word โดยใช้ Python
  3. ดาวน์โหลด ไฟล์ที่อัปเดต

อัปโหลดเอกสาร

ประการแรก เราจะอัปโหลดไฟล์ DOCX ไปยัง Cloud โดยใช้ตัวอย่างโค้ดที่ระบุด้านล่าง:

# สร้างอินสแตนซ์ของ 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 โดยใช้ REST API ใน Python

แก้ไขเอกสาร Word โดยใช้ REST API ใน Python

ดาวน์โหลดไฟล์ที่อัปเดต

ตัวอย่างโค้ดด้านบนจะบันทึกเอกสาร 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 โดยใช้ Python

แทรกรูปภาพในเอกสาร 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)
แก้ไขเอกสาร Word โดยใช้ REST API ใน Python

แทรกรูปภาพในเอกสาร Word โดยใช้ Python

ลองออนไลน์

โปรดลองใช้เครื่องมือแก้ไข DOCX ออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น https://products.groupdocs.app/editor/docx

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการแก้ไขเอกสาร Word บนคลาวด์ เราได้เห็นวิธีเพิ่มตารางหรือแทรกรูปภาพในไฟล์ DOCX โดยใช้ REST API ใน Python บทความนี้ยังอธิบายวิธีการอัปโหลดไฟล์ DOCX ทางโปรแกรมไปยังระบบคลาวด์ จากนั้นดาวน์โหลดไฟล์ที่แก้ไขแล้วจากระบบคลาวด์ นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Editor Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย