في بعض الحالات ، تحتاج إلى تقسيم مستندات Word الكبيرة عن طريق تقسيمها إلى مستندات أصغر. يمكنك تقسيم مستند Word حسب الصفحات أو الأقسام أو الأعمدة. في هذه المقالة ، ستتعلم كيفية تقسيم مستند Word إلى ملفات متعددة باستخدام Python. سيوضح الدليل التفصيلي وعينات التعليمات البرمجية كيفية تقسيم مستند Word حسب الأقسام أو الصفحات أو نطاقات الصفحات برمجيًا.
- مكتبة Python لتقسيم مستندات MS Word
- تقسيم مستند Word حسب الأقسام
- تقسيم مستند Word حسب الصفحات
- تقسيم مستند Word عن طريق نطاق الصفحات
مكتبة Python لتقسيم مستندات MS Word
لتقسيم مستند DOCX أو DOC إلى ملفات متعددة ، سنستخدم Aspose.Words for Python. إنها مكتبة معالجة كلمات لإنشاء مستندات Word ومعالجتها. يمكنك تثبيته في تطبيقات Python الخاصة بك من PyPI باستخدام أمر pip التالي.
pip install aspose-words
قم بتقسيم مستند Word حسب الأقسام في Python
في معظم الحالات ، يتم تقسيم مستند Word إلى أقسام متعددة باستخدام فواصل المقاطع. لحفظ كل قسم في ملف منفصل ، يمكنك تقسيم المستند حسب الأقسام. توضح الخطوات التالية كيفية تقسيم مستند Word حسب الأقسام في Python.
- قم بتحميل مستند Word باستخدام فئة المستند.
- قم بتكرار كل قسم في مجموعة Document.sections.
- لكل قسم في المجموعة ، قم بتنفيذ الخطوات التالية:
- قم بإنشاء كائن جديد لفئة المستند.
- امسح الأقسام الافتراضية باستخدام طريقة Document.sections.clear().
- قسم الاستيراد إلى مستند جديد باستخدام أسلوب Document.importnode (Section، True) .assection() واحصل على القسم الذي تم إرجاعه في كائن.
- أضف القسم الذي تم إرجاعه إلى مجموعة أقسام المستند الجديد.
- احفظ المستند الجديد كملف DOCX باستخدام طريقة Document.save(string).
يوضح نموذج التعليمات البرمجية التالي كيفية تقسيم مستند Word حسب الأقسام في Python.
import aspose.words as aw
# تحميل مستند Word
doc = aw.Document("document.docx")
for i in range(0, doc.sections.count) :
# استنساخ القسم لتقسيمه
section = doc.sections[i].clone()
# قم بإنشاء مثيل لفئة المستند لـ doucment الجديدة
newDoc = aw.Document()
# امسح الأقسام الافتراضية
newDoc.sections.clear()
# قسم inster في مستند جديد
newSection = newDoc.import_node(section, True).as_section()
newDoc.sections.add(newSection)
# حفظ القسم كمستند منفصل
newDoc.save(f"split_by_sections_{i}.docx")
تقسيم مستند Word حسب الصفحات في Python
الآن ، دعنا نلقي نظرة على كيفية تقسيم كل صفحة من المستند وحفظها كملف DOCX منفصل. فيما يلي خطوات تقسيم مستند Word حسب الصفحات.
قم بتحميل مستند Word باستخدام فئة المستند.
احصل على عدد الصفحات في المستند باستخدام خاصية Document.pagecount.
قم بالتكرار خلال عدد الصفحات وفي كل تكرار ، قم بتنفيذ الخطوات التالية:
قم باستخراج الصفحة إلى كائن باستخدام طريقة Document.extractpages (pageIndex ، 1).
احفظ الصفحة المستخرجة كملف DOCX باستخدام طريقة Document.save(string).
يُظهر نموذج التعليمات البرمجية التالي كيفية تقسيم مستند Word حسب الصفحات.
import aspose.words as aw
# تحميل مستند Word
doc = aw.Document("document.docx")
# الحصول على عدد الصفحات
pageCount = doc.page_count
# حلقة من خلال الصفحات
for page in range(0, pageCount):
# احفظ كل صفحة كمستند منفصل
extractedPage = doc.extract_pages(page, 1)
extractedPage.save(f"split_by_page_{page + 1}.docx")
قم بتقسيم مستند Word عن طريق نطاق الصفحات في Python
يمكنك أيضًا تقسيم نطاق من الصفحات في مستند Word وحفظه كملف منفصل. فيما يلي خطوات تحقيق ذلك في بايثون.
- قم بتحميل مستند Word باستخدام فئة المستند.
- استخرج الصفحات باستخدام أسلوب Document.extractpages (int، int) حيث يكون المعامل الأول هو فهرس صفحة البداية والثاني هو عدد الصفحات.
- احفظ نطاق الصفحات المستخرج كملف DOCX باستخدام طريقة Document.save(string).
يوضح نموذج التعليمات البرمجية التالي كيفية استخراج نطاق من الصفحات من مستند Word وحفظه كملف DOCX.
import aspose.words as aw
# تحميل مستند Word
doc = aw.Document("document.docx")
# نطاق استخراج الصفحات
extractedPages = doc.extract_pages(3, 6)
# حفظ الصفحات كمستند منفصل
extractedPages.save("split_by_page_range.docx")
احصل على ترخيص API مجاني
هل أنت مهتم بتجربة Aspose.Words for Python مجانًا؟ احصل على ترخيص مؤقت لتجنب قيود التقييم.
استنتاج
في هذه المقالة ، تعلمت كيفية تقسيم مستند Word إلى مستندات متعددة في Python. أظهرت نماذج التعليمات البرمجية كيفية تقسيم مستند Word حسب الأقسام أو الصفحات أو نطاق الصفحات. يوفر Aspose.Words for Python عددًا من الميزات المثيرة التي يمكنك استكشافها باستخدام التوثيق. يمكنك أيضًا إرسال أسئلتك إلى المنتدى.