في بعض الحالات ، قد نحتاج إلى تحرير مستندات Word برمجيًا. يمكننا بسهولة إضافة أو تعديل أو حذف محتوى ملفات DOC أو DOCX أو تطبيق تنسيق النص باستخدام Python. في هذه المقالة ، سوف نتعلم كيفية تحرير مستندات Word باستخدام واجهة برمجة تطبيقات REST في Python.
سيتم تناول الموضوعات التالية في هذه المقالة:
- محرر مستندات Word REST API و Python SDK
- قم بتحرير مستند Word باستخدام REST API في Python
- أضف جدولًا في مستندات Word باستخدام Python
- أدخل صورة في مستندات Word باستخدام Python
محرر مستندات Word REST API و Python SDK
لتحرير ملفات DOCX ، سنستخدم Python SDK of GroupDocs.Editor Cloud API. الرجاء تثبيته باستخدام الأمر التالي في وحدة التحكم:
pip install groupdocs_editor_cloud
يرجى الحصول على معرف العميل والسرية من لوحة التحكم قبل اتباع الخطوات المذكورة. بمجرد حصولك على المعرف والسر الخاص بك ، قم بإضافة الرمز كما هو موضح أدناه:
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 باتباع الخطوات البسيطة المذكورة أدناه:
قم بتحميل المستند
أولاً ، سنقوم بتحميل ملف DOCX إلى السحابة باستخدام مثال الرمز الموضح أدناه:
# إنشاء مثيل لواجهة برمجة التطبيقات
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.
# تهيئة مثيلات واجهات برمجة التطبيقات
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 المحرر (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 في Python. يرجى اتباع الخطوات المذكورة سابقاً لتحميل وتنزيل ملف.
# تهيئة مثيلات واجهات برمجة التطبيقات
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 برمجيًا باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج إلى تحديث HTML لإدراج صورة في المستند كما هو موضح أدناه:
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");
يوضح نموذج التعليمات البرمجية التالي كيفية إدراج صورة في مستند Word باستخدام واجهة برمجة تطبيقات REST في Python. يرجى اتباع الخطوات المذكورة سابقاً لتحميل وتنزيل ملف.
# تهيئة مثيلات واجهات برمجة التطبيقات
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)
جرب عبر الإنترنت
يرجى تجربة أداة تحرير DOCX المجانية التالية عبر الإنترنت ، والتي تم تطويرها باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. https://products.groupdocs.app/editor/docx
خاتمة
في هذه المقالة ، تعلمنا كيفية تحرير مستندات Word على السحابة. لقد رأينا أيضًا كيفية إضافة جدول أو إدراج صورة في ملف DOCX باستخدام واجهة برمجة تطبيقات REST في Python. توضح هذه المقالة أيضًا كيفية تحميل ملف DOCX برمجيًا إلى السحابة ثم تنزيل الملف المحرر من السحابة. بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول GroupDocs.Editor Cloud API باستخدام التوثيق. نوفر أيضًا قسم مرجع واجهة برمجة التطبيقات الذي يتيح لك تصور واجهات برمجة التطبيقات الخاصة بنا والتفاعل معها مباشرةً من خلال المتصفح. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.