Outline / OutlineElement — Aspose.Note FOSS for Python API Reference
Класс: Outline
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import Outline ImageRenderOptions: CompositeNode
Outline является позиционным контейнером, размещённым непосредственно на Page. Он содержит координаты X/Y и ширину, которые описывают, где блок контента размещён на холсте страницы. Его прямые дочерние элементы — OutlineElement узлы.
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
X | `float | None` | ImageRenderOptions |
Y | `float | None` | ImageRenderOptions |
Width | `float | None` | ImageRenderOptions |
Унаследовано от CompositeNode
| Свойство / Метод | ImageRenderOptions |
|---|---|
FirstChild | Первый прямой дочерний элемент OutlineElement узел, или None |
LastChild | Последний прямой дочерний элемент OutlineElement узел, или None |
AppendChildLast(node) | Добавить OutlineElement в конец |
AppendChildFirst(node) | Добавить в начало OutlineElement |
InsertChild(index, node) | Вставить в определённую позицию |
RemoveChild(node) | Удалить дочерний узел |
GetChildNodes(Type) | Рекурсивный поиск в глубину, возвращающий всех потомков заданного типа |
for child in outline | Итерировать прямых дочерних элементов |
Наследовано от Node
| ImageRenderOptions | ImageRenderOptions |
|---|---|
ParentNode | Содержащий Page |
Document | Корень Document |
ImageRenderOptions
Accept(visitor)
outline.Accept(visitor: DocumentVisitor) -> NoneImageRenderOptions VisitOutlineStart(outline) на visitor, затем рекурсивно посещает каждого дочернего элемента OutlineElement, затем VisitOutlineEnd(outline).
Примеры использования
Собрать все outlines на странице
from aspose.note import Document, Page, Outline
doc = Document("MyNotes.one")
for page in doc.GetChildNodes(Page):
for outline in page.GetChildNodes(Outline):
print(f"Outline at X={outline.X}, Y={outline.Y}, Width={outline.Width}")Пройти элементы outline внутри outline
from aspose.note import Document, Outline, OutlineElement, RichText
doc = Document("MyNotes.one")
for outline in doc.GetChildNodes(Outline):
for elem in outline.GetChildNodes(OutlineElement):
for rt in elem.GetChildNodes(RichText):
print(rt.Text)Класс: OutlineElement
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import OutlineElement ImageRenderOptions: CompositeNode
OutlineElement является leaf container внутри Outline. Он содержит узлы контента, такие как RichText, Image, Table, и AttachedFile. Вложенность выражается через IndentLevel вместо реальной глубины дерева.
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
IndentLevel | int | ImageRenderOptions | Глубина вложенности в структуре (0 = самая внешняя) |
NumberList | `NumberList | None` | ImageRenderOptions |
Tags | list[NoteTag] | ImageRenderOptions | Теги OneNote, привязанные к этому элементу |
Унаследовано от CompositeNode
| Свойство / Метод | ImageRenderOptions |
|---|---|
FirstChild | Первый прямой дочерний элемент контента |
LastChild | Последний прямой дочерний элемент контента |
AppendChildLast(node) | Добавить узел контента |
GetChildNodes(Type) | Рекурсивный поиск по поддереву |
for child in elem | Перебрать прямых дочерних элементов |
Наследовано от Node
| ImageRenderOptions | ImageRenderOptions |
|---|---|
ParentNode | Содержащий Outline |
Document | Корень Document |
ImageRenderOptions
Accept(visitor)
elem.Accept(visitor: DocumentVisitor) -> NoneImageRenderOptions VisitOutlineElementStart(elem), рекурсивно посещает дочерние элементы, затем VisitOutlineElementEnd(elem).
Примеры использования
Извлечь простой текст из элементов outline
from aspose.note import Document, OutlineElement, RichText
doc = Document("MyNotes.one")
for elem in doc.GetChildNodes(OutlineElement):
for rt in elem.GetChildNodes(RichText):
if rt.Text.strip():
print(f" [indent={elem.IndentLevel}] {rt.Text}")Найти элементы списка
from aspose.note import Document, OutlineElement, RichText
doc = Document("MyNotes.one")
for elem in doc.GetChildNodes(OutlineElement):
if elem.NumberList is not None:
numbered = elem.NumberList.IsNumbered
label = "ordered" if numbered else "bulleted"
for rt in elem.GetChildNodes(RichText):
print(f" [{label}] {rt.Text}")Найти помеченные элементы outline
from aspose.note import Document, OutlineElement, RichText
doc = Document("MyNotes.one")
for elem in doc.GetChildNodes(OutlineElement):
if elem.Tags:
labels = [t.label for t in elem.Tags if t.label]
for rt in elem.GetChildNodes(RichText):
print(f"Tags: {labels} Text: {rt.Text.strip()!r}")Создать outline программно
from aspose.note import Document, Page, Outline, OutlineElement, RichText, SaveFormat
doc = Document()
page = doc.AppendChildLast(Page())
outline = page.AppendChildLast(Outline())
elem = outline.AppendChildLast(OutlineElement())
rt = elem.AppendChildLast(RichText())
rt.Append("Hello from aspose-note")
doc.Save("output.pdf", SaveFormat.Pdf)Безопасность при None
NumberList является None для элементов, которые не являются частью списка. Tags всегда является списком (может быть пустым). IndentLevel всегда является int (по умолчанию 0).
См. также
- ImageRenderOptions: родитель Outline
- RichText: основное содержимое внутри OutlineElement
- ImageRenderOptions: табличное содержимое внутри OutlineElement
- NumberList: метаданные форматирования списка
- NoteTag: теги в элементах оглавления
- DocumentVisitor: обход посетителя