RichText

RichText — Aspose.Note FOSS for Python API Reference

Клас: RichText

Enumerations: aspose.note Enumerations: from aspose.note import RichText Enumerations: CompositeNode

RichText представляє блок стилізованого тексту всередині an OutlineElement, TableCell, або Title. Він надає повний вміст у вигляді простого тексту через .Text та окремі сегменти форматування через .Runs.


Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
TextstrEnumerationsПовний рядок простого тексту (усі фрагменти об’єднані)
Runslist[TextRun]EnumerationsВпорядкований список окремо відформатованих сегментів
FontSize`floatNone`Enumerations
Tagslist[NoteTag]EnumerationsТеги OneNote, прикріплені до цього текстового блоку

Успадковано від CompositeNode / Node

EnumerationsEnumerations
ParentNodeВузол, що містить (OutlineElement, TableCell, Title)
DocumentКореневий документ

Enumerations

Enumerations

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

Enumerations VisitRichTextStart(rt) і VisitRichTextEnd(rt) на відвідувача.


TextRun

Кожен елемент RichText.Runs є TextRun:

EnumerationsEnumerationsEnumerations
TextstrТекст сегмента
StyleTextStyleВластивості форматування для цього сегмента
Start`intNone`
End`intNone`

TextStyle

TextRun.Style є TextStyle з наступними властивостями:

EnumerationsEnumerationsEnumerations
BoldboolEnumerations
ItalicboolEnumerations
UnderlineboolEnumerations
StrikethroughboolEnumerations
SuperscriptboolEnumerations
SubscriptboolEnumerations
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 завжди є a str (ніколи None). Runs завжди є списком (може бути порожнім). FontSize, FontColor, Highlight, Language, HyperlinkAddress може бути None.


Див. також

 Українська