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

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
TextstrImageRenderOptionsПолная строка простого текста (все фрагменты объединены)
Runslist[TextRun]ImageRenderOptionsУпорядоченный список отдельно отформатированных сегментов
FontSize`floatNone`ImageRenderOptions
Tagslist[NoteTag]ImageRenderOptionsТеги OneNote, прикреплённые к этому блоку текста

Наследуется от CompositeNode / Node

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

ImageRenderOptions VisitRichTextStart(rt) и VisitRichTextEnd(rt) о посетителе.


TextRun

Каждый элемент RichText.Runs является TextRun:

ImageRenderOptionsImageRenderOptionsImageRenderOptions
TextstrТекст сегмента
StyleTextStyleСвойства форматирования для этого сегмента
Start`intNone`
End`intNone`

TextStyle

TextRun.Style является TextStyle со следующими свойствами:

ImageRenderOptionsImageRenderOptionsImageRenderOptions
BoldboolImageRenderOptions
ItalicboolImageRenderOptions
UnderlineboolImageRenderOptions
StrikethroughboolImageRenderOptions
SuperscriptboolImageRenderOptions
SubscriptboolImageRenderOptions
FontName`strNone`
FontSize`floatNone`
FontColor`intNone`
Highlight`intNone`
Language`intNone`
IsHyperlinkboolЯвляется ли этот фрагмент гиперссылкой
HyperlinkAddress`strNone`

Примеры использования

Получить весь простой текст

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.


См. также

 Русский