YStudio Y++

RTF类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库。路径:支持库 → 扩展类库 → RTF类(可在 工具 → 插件管理 中启用/关闭)。

类型名写「RTF类」。声明时自动创建。

用于读取 / 解析 RTF 富文本,取出纯文本或简易 HTML,再交给超级文本框等控件显示。


快速开始

RTF类 r
如果 (!r.加载(合并路径(取程序目录(), "说明.rtf"))) {
    信息框(r.取错误(), 0)
    返回
}
超级文本框1.置富文本(r.取HTML())
' 只要纯文本:超级文本框1.内容 = r.取纯文本()

也可先读文件再解析:

RTF类 r
文本 s = 读文件(合并路径(取程序目录(), "说明.rtf"), #编码_UTF8)
如果 (r.是否RTF文本(s) && r.解析(s)) {
    超级文本框1.置富文本(r.取HTML())
}

方法摘要

方法 说明
解析(内容) 解析 RTF 文本
解析字节集(数据) 按原始字节解析(适合二进制读入)
加载(路径) 从磁盘读取并解析
是否RTF文本(内容) / 是否RTF字节集(数据) 判断是否像 RTF(常见以 {\rtf 开头);不改当前内容
取纯文本() 解析后的纯文本
取HTML() 简易 HTML(粗/斜/下划线/颜色/字号 \fs/换行/常见嵌入图),可直接 置富文本
取原文() 最近一次成功解析的原始 RTF
取错误() 最近一次失败原因
清空() 清空已解析内容与错误

说明与限制

  1. 面向常见 RTF 文档的阅读与展示,不是完整 Word 级编辑器。
  2. 常见嵌入图(PNG/JPEG 的 \pngblip / \jpegblip)会导出为 HTML 的 <img>,可直接 置富文本 在超级文本框预览;其它复杂域/图元可能仍跳过。
  3. 与超级文本框配合:优先 置富文本(取HTML());只要文字用 取纯文本()。
  4. 相关:超级文本框 · HTML类 · Markdown类

易错对照

易错 正确
把 RTF 原文直接当「内容」显示 先 加载/解析,再 取HTML 或 取纯文本
非 RTF 文件强行解析 先 是否RTF文本 / 是否RTF字节集
失败不看原因 调用 取错误()