RichText

RichText — Aspose.Note FOSS for Python API Reference

类:RichText

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

RichText 表示一个位于…中的样式化文本块 OutlineElement, TableCell,,或 Title.。它通过…公开完整的纯文本内容 .Text 并通过…提供单独的格式化段落 .Runs.


Properties

PropertiesPropertiesPropertiesProperties
TextstrProperties完整的纯文本字符串(所有运行串联)
Runslist[TextRun]Properties按顺序排列的单独格式化段列表
FontSize`floatNone`Properties
Tagslist[NoteTag]Properties附加在此文本块上的 OneNote 标签

继承自 CompositeNode / Node

PropertiesProperties
ParentNode包含的节点(OutlineElement、TableCell、Title)
Document根文档

Properties

Properties

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_valuenew_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

Properties VisitRichTextStart(rt)VisitRichTextEnd(rt) 在访客上。.


TextRun

每个元素的 RichText.Runs 是一个 TextRun:

PropertiesPropertiesProperties
Textstr段文本
StyleTextStyle此段的格式属性
Start`intNone`
End`intNone`

TextStyle

TextRun.Style 是一个 TextStyle 具有以下属性::

PropertiesPropertiesProperties
BoldboolProperties
ItalicboolProperties
UnderlineboolProperties
StrikethroughboolProperties
SuperscriptboolProperties
SubscriptboolProperties
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.


另见

 中文