我有一堆文本文件要转换为rtf.只是更改代码中的扩展名不起作用,底层文件是相同的.我需要文本是rtf格式.谁知道我怎么做到这一点?
问题是,当我加载纯文本文件时,RichTextBox没有格式化新行,因此它将其作为一个连续的文本块加载,而不是插入新行.
唯一的解决方案是打开纯文本文件和"另存为"rtf.
Ant*_*ula 16
只需将文本添加到空RTF模板中,纯文本无论如何都没有任何格式化,所以让我们说rtf模板看起来像这样(来自wikipedia示例):
{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard _TEXT_CONTENT_HERE_ }
Run Code Online (Sandbox Code Playgroud)
更新:我忘记了新的线条,大括号和反斜杠:)
public static string PlainTextToRtf(string plainText)
{
string escapedPlainText = plainText.Replace(@"\", @"\\").Replace("{", @"\{").Replace("}", @"\}");
string rtf = @"{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard ";
rtf += escapedPlainText.Replace(Environment.NewLine, @" \par ");
rtf += " }";
return rtf;
}
Run Code Online (Sandbox Code Playgroud)