CompositeNode — Aspose.Note FOSS for Python API Reference
Clasa: CompositeNode
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import CompositeNode ImageRenderOptions: Node
CompositeNode extinde Node cu capacitatea de a deține noduri copil. Toate tipurile de noduri structurale din modelul de document (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) moștenesc de la CompositeNode. Nu instanțiați niciodată CompositeNode direct.
ImageRenderOptions
Moștenit de la Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
Proprietăți de acces la copii
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node ca ultimul copil direct. Setează node.ParentNode = self. Returnează node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node ca primul copil direct. Returnează node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node la poziția index în lista de copii. Returnează node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node din lista de copii și setează node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listCaută recursiv întregul subarbore (în adâncime, incluzând self) și returnează toate nodurile care se potrivesc node_type. Aceasta este metoda principală de a colecta toate instanțele unei clase date în orice subarbore.
ImageRenderOptions
for child in composite:
...Iterarea unui CompositeNode returnează doar copii direcți. Utilizați GetChildNodes() pentru o căutare profundă.
Exemplu de utilizare
Parcurge copiii direcți vs căutare în profunzime
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)}")Construiește un document programatic
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))Siguranță None
FirstChild și LastChild sunt None când nodul nu are copii. Întotdeauna verificați înainte de a le dereferenția.
Vezi și
- ImageRenderOptions: clasă de bază pentru toate nodurile de document
- ImageRenderOptions: rădăcină
CompositeNode - ImageRenderOptions: la nivel de pagină
CompositeNode - RichText: bloc de text
CompositeNode - Ghid pentru dezvoltatori