C# 将 RTF 转换为纯文本
2011-10-17 12:21 Eric.Hu 阅读(1432) 评论(1) 编辑 收藏 举报在 .NET Framework 中,可以使用
也可以使用
在项目中使用 RichTextBox 控件
-
添加对 System.Windows.Forms.dll 的引用。
- 为 System.Windows.Forms 命名空间添加 using 指令(可选)。
示例
下面的示例提供一个要转换的示例 RTF 文件。该文件包含 RTF 格式,例如字体信息,还包含四个 Unicode 字符和四个扩展的 ASCII 字符。该文件打开,以 RTF 格式传递到
// Save the following RTF file to the same folder as your .exe file, and call it "test.rtf".
/*
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fnil\fprq1\fcharset0 Courier New;}{\f2\fswiss\fprq2\fcharset0 Arial;}}
{\colortbl ;\red0\green128\blue0;\red0\green0\blue0;}
{\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\f0\fs20 This is the \i Greek \i0 word "psyche": \cf1\f1\u968?\u965?\u967?\u942?\cf2\f2 . It is encoded in Unicode.\par
Here are four extended \b ASCII \b0 characters (Windows code page 1252): \'e2\'e4\u1233?\'e5\cf0\par
}
*/
class ConvertFromRTF
{
static void Main()
{
string path = @"test2.rtf";
//Create the RichTextBox. (Requires a reference to System.Windows.Forms.dll.)
System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox();
// Get the contents of the RTF file. Note that when it is
// stored in the string, it is encoded as UTF-16.
string s = System.IO.File.ReadAllText(path);
// Display the RTF text.
System.Windows.Forms.MessageBox.Show(s);
// Convert the RTF to plain text.
rtBox.Rtf = s;
string plainText = rtBox.Text;
// Display plain text output in MessageBox because console
// cannot display Greek letters.
System.Windows.Forms.MessageBox.Show(plainText);
// Output plain text to file, encoded as UTF-8.
System.IO.File.WriteAllText(@"output.txt", plainText);
}
}
着意耕耘,自有收获。