اسناد Word را با استفاده از REST API در پایتون ویرایش کنید

در موارد خاص، ممکن است نیاز به ویرایش اسناد Word به صورت برنامه ای داشته باشیم. ما به راحتی می توانیم محتوای فایل های DOC یا DOCX را اضافه، ویرایش یا حذف کنیم یا با استفاده از پایتون قالب بندی متن را اعمال کنیم. در این مقاله یاد می گیریم که چگونه اسناد Word را با استفاده از REST API در پایتون ویرایش کنیم.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

ویرایشگر سند Word REST API و Python SDK

برای ویرایش فایل‌های DOCX، از Python SDK of GroupDocs.Editor Cloud API استفاده خواهیم کرد. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:

pip install groupdocs_editor_cloud

لطفاً [شناسه مشتری و راز خود را از داشبورد 3 قبل از انجام مراحل ذکر شده دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

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 در پایتون ویرایش کنید

ما می توانیم اسناد Word را با دنبال کردن مراحل ساده زیر ویرایش کنیم:

  1. فایل DOCX را در Cloud [آپلود] کنید
  2. ویرایش سند ورد با استفاده از پایتون
  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 را به صورت برنامه‌نویسی ویرایش کنیم:

  • ابتدا نمونه هایی از 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 را با استفاده از روش EditApi.save() با شی SaveRequest به DOCX ذخیره کنید.

نمونه کد زیر نحوه ویرایش یک سند Word را با استفاده از REST API در پایتون نشان می دهد.

# نمونه های 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 در پایتون ویرایش کنید.

اسناد Word را با استفاده از REST API در پایتون ویرایش کنید.

فایل به روز شده را دانلود کنید

نمونه کد بالا سند ورد ویرایش شده (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 با استفاده از پایتون

با دنبال کردن مراحلی که قبلا ذکر شد می‌توانیم جدولی را به صورت برنامه‌نویسی در اسناد 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 در پایتون نشان می دهد. لطفاً برای آپلود و دانلود یک فایل مراحل ذکر شده را دنبال کنید.

# نمونه های 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 با استفاده از پایتون.

اضافه کردن جدول در اسناد Word با استفاده از پایتون.

درج تصویر در اسناد ورد با استفاده از پایتون

با دنبال کردن مراحلی که قبلا ذکر شد می‌توانیم یک تصویر را به صورت برنامه‌نویسی در اسناد Word وارد کنیم. با این حال، ما باید HTML را برای درج یک تصویر در سند مانند شکل زیر به روز کنیم:

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

نمونه کد زیر نحوه درج یک تصویر در سند Word را با استفاده از REST API در پایتون نشان می دهد. لطفاً برای آپلود و دانلود یک فایل مراحل ذکر شده را دنبال کنید.

# نمونه های 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 در پایتون ویرایش کنید

درج تصویر در اسناد ورد با استفاده از پایتون.

آنلاین را امتحان کنید

لطفاً ابزار ویرایش آنلاین رایگان DOCX زیر را که با استفاده از API بالا ایجاد شده است، امتحان کنید. https://products.groupdocs.app/editor/docx

نتیجه

در این مقاله یاد گرفتیم که چگونه اسناد Word را در فضای ابری ویرایش کنیم. همچنین نحوه اضافه کردن جدول یا درج یک تصویر در فایل DOCX را با استفاده از REST API در پایتون دیده‌ایم. این مقاله همچنین نحوه آپلود برنامه‌نویسی یک فایل DOCX را در فضای ابری و سپس دانلود فایل ویرایش شده از Cloud توضیح داد. علاوه بر این، می‌توانید با استفاده از مستندات درباره GroupDocs.Editor Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه می‌کنیم که به شما امکان می‌دهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان تماس بگیرید.

همچنین ببینید