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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
ویژگیهای دسترسی به فرزند
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node به عنوان آخرین فرزند مستقیم. تنظیم میکند node.ParentNode = self. باز میگرداند node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node به عنوان اولین فرزند مستقیم. باز میگرداند node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node در موقعیت index در فهرست فرزندان. باز میگرداند node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions 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 زمانی که گره فرزندی ندارد. همیشه قبل از ارجاع به آنها مراقب باشید.
همچنین ببینید
- ImageRenderOptions: کلاس پایه برای تمام گرههای سند
- ImageRenderOptions: ریشه
CompositeNode - ImageRenderOptions: سطح صفحه
CompositeNode - RichText: بلوک متن
CompositeNode - راهنمای توسعهدهنده