CompositeNode

CompositeNode — Aspose.Note FOSS for Python API Reference

Classe: CompositeNode

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

CompositeNode estende Node com a capacidade de possuir nós filhos. Todos os tipos de nós estruturais no modelo de documento (Document, Page, Outline, OutlineElement, RichText, Image, Table, TableRow, TableCell, AttachedFile) herdam de CompositeNode. Você nunca instancia CompositeNode diretamente.


ImageRenderOptions

Herda de Node

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
ParentNode`NodeNone`ImageRenderOptions
Document`DocumentNone`ImageRenderOptions

Propriedades de acesso a filhos

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FirstChild`NodeNone`ImageRenderOptions
LastChild`NodeNone`ImageRenderOptions

ImageRenderOptions

AppendChildLast(node)

composite.AppendChildLast(node: Node) -> Node

ImageRenderOptions node como o último filho direto. Define node.ParentNode = self. Retorna node.


AppendChildFirst(node)

composite.AppendChildFirst(node: Node) -> Node

ImageRenderOptions node como o primeiro filho direto. Retorna node.


InsertChild(index, node)

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

ImageRenderOptions node na posição index na lista de filhos. Retorna node.


RemoveChild(node)

composite.RemoveChild(node: Node) -> None

ImageRenderOptions node da lista de filhos e define node.ParentNode = None.


GetChildNodes(node_type)

composite.GetChildNodes(node_type: type) -> list

Pesquisa recursivamente toda a subárvore (profundidade primeiro, incluindo self) e retorna todos os nós que correspondem a node_type. Esta é a forma principal de coletar todas as instâncias de uma determinada classe dentro de qualquer subárvore.


ImageRenderOptions

for child in composite:
    ...

Iterando um CompositeNode produz seu apenas filhos diretos. Use GetChildNodes() para uma busca profunda.


Exemplo de Uso

Percorrer filhos diretos vs busca profunda

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)}")

Construir um documento programaticamente

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))

Segurança contra None

FirstChild e LastChild são None quando o nó não tem filhos. Sempre verifique antes de desreferenciá-los.


Veja Também

 Português