CompositeNode

CompositeNode — Aspose.Note FOSS for Python API Reference

کلاس: CompositeNode

ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import CompositeNode ImageRenderOptions: Node

CompositeNode گسترش می‌دهد Node با قابلیت داشتن گره‌های فرزند. تمام انواع گره‌های ساختاری در مدل سند (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) ارث می‌برد CompositeNode.شما هرگز نمونه‌سازی نمی‌کنید CompositeNode به‌صورت مستقیم.


ImageRenderOptions

ارث‌بری شده از Node

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

ویژگی‌های دسترسی به فرزند

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node به عنوان آخرین فرزند مستقیم. تنظیم می‌کند node.ParentNode = self. باز می‌گرداند node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node به عنوان اولین فرزند مستقیم. باز می‌گرداند node.


InsertChild(index, node)

composite.InsertChild(index: int, node: Node) -> Node

ImageRenderOptions node در موقعیت index در فهرست فرزندان. باز می‌گرداند node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node از فهرست فرزندان و تنظیم می‌کند node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

به‌صورت بازگشتی کل زیردرخت را جستجو می‌کند (به‌صورت عمق‌اول، شامل self) و تمام گره‌های منطبق را باز می‌گرداند node_type. این روش اصلی برای جمع‌آوری تمام نمونه‌های یک کلاس داده‌شده در هر زیردرختی است.


ImageRenderOptions

for child in composite:
    ...

تکرار یک CompositeNode مقدار آن فقط فرزندان مستقیم. استفاده کنید GetChildNodes() برای جستجوی عمیق.


مثال استفاده

پیمایش فرزندان مستقیم در مقابل جستجوی عمیق

from aspose.note import Document, Page, Outline, RichText

doc = Document("MyNotes.one")
first_page = doc.GetChildNodes(Page)[0]

# Direct children of a page (Outline nodes)
print("Direct children of first page:")
for child in first_page:
    print(f"  {child.NodeType}")

# Deep search — all RichText nodes anywhere under first_page
all_rt = first_page.GetChildNodes(RichText)
print(f"\nAll RichText nodes in first page: {len(all_rt)}")

ساخت یک سند به‌صورت برنامه‌نویسی

from aspose.note import Document, Page, Outline, OutlineElement, RichText, SaveFormat, PdfSaveOptions

doc = Document()
page = Page()
outline = Outline()
oe = OutlineElement()
rt = RichText()
rt.Append("Hello, OneNote!")

oe.AppendChildLast(rt)
outline.AppendChildLast(oe)
page.AppendChildLast(outline)
doc.AppendChildLast(page)

doc.Save("output.pdf", PdfSaveOptions(SaveFormat.Pdf))

ایمنی در برابر None

FirstChild و LastChild هستند None زمانی که گره فرزندی ندارد. همیشه قبل از ارجاع به آن‌ها مراقب باشید.


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

 فارسی