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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
ParentNode | `Node | None` | ImageRenderOptions |
Document | `Document | None` | ImageRenderOptions |
Propriedades de acesso a filhos
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FirstChild | `Node | None` | ImageRenderOptions |
LastChild | `Node | None` | ImageRenderOptions |
ImageRenderOptions
AppendChildLast(node)
composite.AppendChildLast(node: Node) -> NodeImageRenderOptions node como o último filho direto. Define node.ParentNode = self. Retorna node.
AppendChildFirst(node)
composite.AppendChildFirst(node: Node) -> NodeImageRenderOptions node como o primeiro filho direto. Retorna node.
InsertChild(index, node)
composite.InsertChild(index: int, node: Node) -> NodeImageRenderOptions node na posição index na lista de filhos. Retorna node.
RemoveChild(node)
composite.RemoveChild(node: Node) -> NoneImageRenderOptions node da lista de filhos e define node.ParentNode = None.
GetChildNodes(node_type)
composite.GetChildNodes(node_type: type) -> listPesquisa 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
- ImageRenderOptions: classe base para todos os nós de documento
- ImageRenderOptions: raiz
CompositeNode - ImageRenderOptions: nível de página
CompositeNode - RichText: bloco de texto
CompositeNode - Guia do Desenvolvedor