【发布时间】:2015-03-18 02:17:45
【问题描述】:
我正在编写从rtf 转换为txt 的代码。
当给我的方法一个 rtf 格式的文本时,首先它必须检查它是否具有 rtf 格式。如果不是,那就什么都不做。
我的问题:
rtf 文件always(关于always 的备注)是否以{\rtf1 开头?如果是这样,那么我可以检查一下。
谢谢
【问题讨论】:
标签: rtf
我正在编写从rtf 转换为txt 的代码。
当给我的方法一个 rtf 格式的文本时,首先它必须检查它是否具有 rtf 格式。如果不是,那就什么都不做。
我的问题:
rtf 文件always(关于always 的备注)是否以{\rtf1 开头?如果是这样,那么我可以检查一下。
谢谢
【问题讨论】:
标签: rtf
简而言之,是的
这是来自 1.9.1 RTF 规范
“\rtfN 控制字必须跟在左大括号之后。数字参数 N 标识所使用的 RTF 规范的主要版本。”
【讨论】:
您可以使用临时 RichTextBox。
RichTextBox rtb = new RichTextBox();
try
{
rtb.RTF=rtf; // rtf is the rtf data you want to convert
text = rtb.Text;
}
catch
{
// invalid RTF
}
【讨论】:
有效的 rtf 文件始终以 {\rtf 序列开头,并以结束 } 结尾。尽管{\rtf 标签后面的数字应该是版本号,但通常会被忽略。 Word 仍然使用{\rtf1 作为开头序列。
【讨论】: