RTF 1.x 序列化器:把 RtfBlock 队列渲染为 RTF 文本并落盘。
RtfSerializer
00 Remarks
一般不需要直接使用本类,调用 RtfDocument.Save() 即可。
01 Syntax
Microsoft.VisualBasic.MIME.RTF.RtfSerializer
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| Save | 1 | 将内容块队列序列化为 .rtf 文件。 |
| CollectHeadings | 1 | 收集所有标题块,供 \Toc 展开为静态目录。 |
| ParagraphProps | 1 | 生成段落属性(\pard 及对齐、缩进、行距、段间距、底纹)。 |
| CharProps | 1 | 生成字符属性(\plain + 字体/字号/粗斜下划线/前景色)。 |
| WriteToc | 1 | 输出静态目录:不依赖 Word 域(域在非 Word 打开器中不可靠), 直接按已写入的标题层级生成缩进目录,结果确定且可被解析回读。 |
| ComputeColumnWidths | 1 | 计算各列宽度(twips):等宽 / 按窗口铺满 / 按内容文本长度占比分配。 |
| AppendHex | 1 | 把二进制数据以十六进制流追加到 RTF(每行 128 个十六进制字符)。 |
| EscapeText | 1 | RTF 文本转义:\ { } 转义,制表符与换行转控制字, 其余非 ASCII 字符统一输出为 \uN?(有符号 16 位,含代理对)。 |
03 Fields
| Name | Overloads | Summary |
|---|---|---|
| TwipsPerPoint | 1 | 1 磅 = 20 twips。 |
| TwipsPerPixel | 1 | 1 像素 = 15 twips(按 96 dpi 换算)。 |
| ListIndent | 1 | 列表缩进(twips)。 |
| MinColumnWidth | 1 | 单列最小宽度(twips)。 |
04 Members
Save(
String, List(Of RtfBlock), Int32, Int32, Int32, Int32, Int32, Int32, WordStyle(), WordStyle, WordStyle, WordStyle, WordStyle, WordStyle, TableStyle, RtfWriteMeta)将内容块队列序列化为 .rtf 文件。
Parameters
| Name | Type | Description |
|---|---|---|
filePath | String | 输出的 .rtf 文件路径(目录不存在时会自动创建)。 |
CollectHeadings
收集所有标题块,供 \Toc 展开为静态目录。
ParagraphProps(
WordStyle, Int32, Int32, Int32)生成段落属性(\pard 及对齐、缩进、行距、段间距、底纹)。
CharProps(
WordStyle, String, Nullable(Of Boolean), Nullable(Of Double))生成字符属性(\plain + 字体/字号/粗斜下划线/前景色)。
WriteToc(
Int32)输出静态目录:不依赖 Word 域(域在非 Word 打开器中不可靠), 直接按已写入的标题层级生成缩进目录,结果确定且可被解析回读。
计算各列宽度(twips):等宽 / 按窗口铺满 / 按内容文本长度占比分配。
AppendHex(
StringBuilder, Byte())把二进制数据以十六进制流追加到 RTF(每行 128 个十六进制字符)。
EscapeText(
String)RTF 文本转义:\ { } 转义,制表符与换行转控制字, 其余非 ASCII 字符统一输出为 \uN?(有符号 16 位,含代理对)。
TwipsPerPoint
1 磅 = 20 twips。
TwipsPerPixel
1 像素 = 15 twips(按 96 dpi 换算)。
ListIndent
列表缩进(twips)。
MinColumnWidth
单列最小宽度(twips)。