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:
...a를 반복하면 CompositeNode 그것의 직계 자식만. 사용 GetChildNodes() 깊은 검색을 위해.
사용 예시
직접 자식 순회 vs 깊은 검색
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)}")프로그램matically 문서를 빌드하기
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 - 개발자 가이드