我需要更改一个RTF字符串,以便将文本中的所有RTF选项卡标签(/ tab)替换为任何其他字符(假设是“ tab”)。
这是必需的,因为此RTF字符串将被馈送到HTML转换器,该转换器将忽略字符串中的所有/ tab,因为HTML不支持制表符。为此,我决定将此标签(/ tab)替换为另一个符号(«tab»),该符号稍后由HTML过滤器解释,HTML过滤器会相应地添加标签。 通过在RTF Dom解析器的帮助下将RTF字符串加载到RTF Dom文档中,然后在文本节点中使用新符号更改所有'\ t',我可以完成所有这些工作。 根据新的DOM树,我现在的问题是获取新生成的RTF字符串。 我到处搜索过,但似乎找不到有关如何将RTF Dom文档转换回RTF字符串的任何信息。
private static void FilterRtf(string rtf)
{
// RTF Dom Document creation
RTFDomDocument document = new RTFDomDocument();
// RTF Document Tree loading, according to RTF string
document.LoadRTFText(rtf);
// Replacement of tabulation text in paragraph nodes
ReplaceIndentation(document);
// RTF generated string, based on RTF Document Tree???
}
有什么想法吗?预先谢谢你!