RichText — Aspose.Note FOSS for Python API Reference
Класс: RichText
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import RichText ImageRenderOptions: CompositeNode
RichText представляет собой блок стилизованного текста внутри an OutlineElement, TableCell, или Title. Он предоставляет полный текстовый контент через .Text и отдельные сегменты форматирования через .Runs.
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
Text | str | ImageRenderOptions | Полная строка простого текста (все фрагменты объединены) |
Runs | list[TextRun] | ImageRenderOptions | Упорядоченный список отдельно отформатированных сегментов |
FontSize | `float | None` | ImageRenderOptions |
Tags | list[NoteTag] | ImageRenderOptions | Теги OneNote, прикреплённые к этому блоку текста |
Наследуется от CompositeNode / Node
| ImageRenderOptions | ImageRenderOptions |
|---|---|
ParentNode | Содержащий узел (OutlineElement, TableCell, Title) |
Document | Корневой документ |
ImageRenderOptions
ImageRenderOptions
rt.Append(text: str, style: TextStyle | None = None) -> RichTextДобавляет новый текстовый фрагмент с необязательным стилем. Возвращает self для цепочки. Работает в памяти; изменения нельзя сохранить обратно в .one.
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
first_rt = doc.GetChildNodes(RichText)[0]
first_rt.Append(" [reviewed]")Replace(old_value, new_value)
rt.Replace(old_value: str, new_value: str) -> NoneЗаменяет все вхождения old_value на new_value во всех фрагментах. Работает в памяти.
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
rt.Replace("TODO", "DONE")Accept(visitor)
rt.Accept(visitor: DocumentVisitor) -> NoneImageRenderOptions VisitRichTextStart(rt) и VisitRichTextEnd(rt) о посетителе.
TextRun
Каждый элемент RichText.Runs является TextRun:
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
Text | str | Текст сегмента |
Style | TextStyle | Свойства форматирования для этого сегмента |
Start | `int | None` |
End | `int | None` |
TextStyle
TextRun.Style является TextStyle со следующими свойствами:
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
Bold | bool | ImageRenderOptions |
Italic | bool | ImageRenderOptions |
Underline | bool | ImageRenderOptions |
Strikethrough | bool | ImageRenderOptions |
Superscript | bool | ImageRenderOptions |
Subscript | bool | ImageRenderOptions |
FontName | `str | None` |
FontSize | `float | None` |
FontColor | `int | None` |
Highlight | `int | None` |
Language | `int | None` |
IsHyperlink | bool | Является ли этот фрагмент гиперссылкой |
HyperlinkAddress | `str | None` |
Примеры использования
Получить весь простой текст
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
if rt.Text:
print(rt.Text)Просмотреть все фрагменты с форматированием
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
s = run.Style
attrs = [a for a, v in [
("bold", s.IsBold), ("italic", s.IsItalic),
("underline", s.IsUnderline), ("strike", s.IsStrikethrough),
] if v]
label = ", ".join(attrs) or "plain"
print(f" [{label}] {run.Text!r}")Извлечь гиперссылки
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
if run.Style.IsHyperlink and run.Style.HyperlinkAddress:
print(f" {run.Text!r} -> {run.Style.HyperlinkAddress}")Найти весь жирный текст
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
bold_segments = [
run.Text for rt in doc.GetChildNodes(RichText)
for run in rt.TextRuns
if run.Style.IsBold and run.Text.strip()
]
print(bold_segments)Прочитать теги
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for tag in rt.Tags:
print(f"Tag: {tag.label!r} on text: {rt.Text.strip()!r}")Безопасность при None
Text всегда является str (никогда None). Runs всегда является списком (может быть пустым). FontSize, FontColor, Highlight, Language, HyperlinkAddress может быть None.
См. также
- ImageRenderOptions: предок RichText
- TextRun: отдельный отформатированный сегмент
- TextStyle: свойства форматирования
- NoteTag: теги в тексте
- Руководство разработчика Text Extraction
- Инструкция: извлечение текста из OneNote (KB)
- Блог: извлечение текста из OneNote в Python