CompositeNode — Aspose.Note FOSS for Python API Reference
Klasse: CompositeNode
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import CompositeNode ImageRenderOptions: Node
CompositeNode breidt uit Node met de mogelijkheid om kindknooppunten te bezitten. Alle structurele knooppunttypen in het documentmodel (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) erven van CompositeNode. Je maakt nooit een instantie van CompositeNode direct.
ImageRenderOptions
Geërfd van Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
Eigenschappen voor kindtoegang
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node als het laatste directe kind. Stelt node.ParentNode = self. Retourneert node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node als het eerste directe kind. Retourneert node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node op positie index in de kinderlijst. Retourneert node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node van de kinderlijst en sets node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listZoekt recursief de volledige subboom (diepte-eerst, inclusief self) en retourneert alle knooppunten die overeenkomen met node_type. Dit is de primaire manier om alle instanties van een gegeven klasse binnen elke subboom te verzamelen.
ImageRenderOptions
for child in composite:
...Itereren over een CompositeNode geeft zijn alleen directe kinderen. Gebruik GetChildNodes() voor een diepe zoekopdracht.
Gebruikvoorbeeld
Doorloop directe kinderen vs diepe zoekopdracht
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)}")Bouw een document programmatisch
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-veiligheid
FirstChild en LastChild zijn None wanneer het knooppunt geen kinderen heeft. Zorg altijd voor een controle voordat u ze dereferentieert.
Zie ook
- ImageRenderOptions: basisklasse voor alle documentknooppunten
- ImageRenderOptions: root
CompositeNode - ImageRenderOptions: pagina-niveau
CompositeNode - RichText: tekstblok
CompositeNode - Ontwikkelaarsgids