18

データベースに、テキストを RTF 形式で保持する列があります。

C# を使用してプレーン テキストのみを取得するにはどうすればよいですか?

ありがとう

4

3 に答える 3

32

マイクロソフトは、基本的に rtf テキストを a に貼り付けてからプロパティを読み取るを提供しています...ややぎこちなく感じますが、機能します。RichTextBox.Text

static public string ConvertToText(string rtf)
{
   using(RichTextBox rtb = new RichTextBox())
   {
       rtb.Rtf = rtf;
       return rtb.Text;
   }
}
于 2009-02-27T18:00:38.823 に答える
1

WPFの場合、(Xceed WPF Toolkitを使用して)この拡張メソッドを使用できます:

public static string RTFToPlainText(this string s)
    {
       // for information : default Xceed.Wpf.Toolkit.RichTextBox formatter is RtfFormatter 
        Xceed.Wpf.Toolkit.RichTextBox rtBox = new Xceed.Wpf.Toolkit.RichTextBox(new System.Windows.Documents.FlowDocument());
        rtBox.Text = s;
        rtBox.TextFormatter = new Xceed.Wpf.Toolkit.PlainTextFormatter();
        return rtBox.Text;

    }
于 2018-05-06T09:59:35.670 に答える
0

純粋なコード バージョンが必要な場合は、rtf を自分で解析し、テキスト ビットのみを保持できます。ちょっとした作業ですが、それほど難しい作業ではありません。RTF ファイルの構文は非常に単純です。RTF仕様でそれについて読んでください

于 2009-02-27T18:03:57.523 に答える