كيفية العمل مع محرك التخطيط في Python

كيفية العمل مع محرك التخطيط في Python

طبقة التخطيط في Aspose.HTML FOSS لـ Python تحسب الهندسة من المستندات المُنسقة: build_box_tree() تستخلص بنية الصناديق، layout_block_tree() تضع شظايا الكتل، و paginate_fragments() تقسم المخرجات إلى صفحات. هذا الدليل يُعد مستندًا منسقًا — الإدخال المطلوب — ويشرح كل مرحلة من مراحل التخطيط، باستخدام pip للتثبيت.

دليل خطوة بخطوة

الخطوة 1: تثبيت الحزمة

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

الخطوة 2: استيراد الفئات المطلوبة

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet

الخطوة 3: إعداد مستند منسق

تستهلك التخطيط الأنماط المُحسوبة، لذا قم ببناء الشجرة وتطبيق الأنماط أولاً:

doc = Document()
el = doc.create_element("div")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("div { color: red }")
doc.attach_style_sheet(sheet)
print(el.get_computed_style().get_property_value("color"))

الخطوة 4: استنتاج شجرة الصناديق

build_box_tree() ينتج BoxRoot من BoxNode مدخلات، يصنف نموذج عرض كل عنصر باستخدام classify_display() مقابل تعداد Display؛ ComputedStyle وEdgeSizes يحملان نمط كل صندوق وقياسات نموذج الصندوق.


الخطوة 5: تشغيل التخطيط وتجزئة الصفحات

layout_block_tree() ينتج FragmentRoot من BlockFragment هندسة؛ يتجمع المحتوى المتضمن في LineFragment أسطر عبر layout_inline_fragments()؛ paginate_fragments() يقسم النتائج إلى PageFragment صفحات مع احترام BreakHints.

المشكلات الشائعة والحلول

إخرج التخطيط فارغ. شجرة الإدخال لم تتضمن محتوى منسق — أرفق أوراق الأنماط والمحتوى قبل التخطيط.

الصندوق لديه تصنيف عرض غير متوقع. Check classify_display() للعنصر؛ المُحسب display القيمة تقوده.

فواصل الصفحات تظهر في أماكن غريبة. Provide BreakHints to paginate_fragments() لتوجيه فرص الفواصل.

الأسئلة المتكررة

ما الفرق بين الصناديق والقطع؟

الصناديق (BoxNode) تصف بنية التخطيط المستمدة من الأنماط؛ القطع (BlockFragment, LineFragment, PageFragment) هي النتائج الموضوعة مع الهندسة.

أين تُحل الهوامش والمساحات الداخلية؟

في EdgeSizes على كل صندوق — أول مكان للبحث عندما تُفاجئك الأبعاد.

هل يُشكِّل المحرك النص؟

يتم تشكيل المحتوى المتضمن إلى ShapedRun قطع قبل تجميع السطر.

انظر أيضاً

 العربية