1

MS Word で作成された rtf ドキュメントを表示するために richtextbox を使用しています。スタイル タグ「\s[スタイルの数]」を使用してスキーマを作成する、MS Word の「ドキュメント スキーマ」のようなドキュメントのコンテンツを表示する必要があります。ファイルをリッチテキストボックスにロードすると発生する問題。RTF テキストを取得しようとすると、既知のタグのみが返され、不明なタグはすべて省略されます。ファイルをロードするために次のコードを使用します

MemoryStream stream = new MemoryStream(Encoding.Default.GetBytes(file));
rtbViewer.Selection.Load(stream,DataFormats.Rtf);
stream.Close();

入力文字列ファイルを正規表現検索してコンテンツを作成することができました。ソース ファイルを取得し、そのテキストを文字列で取得します (すべての rtf タグを含む)。次に、スタイル タグを検索して、レベルとテキストに関する情報を取得します。ユーザーがテキストを変更してから保存しようとしない限り、すべて問題ありません。問題は、リッチテキストボックスにファイルをロードすると、コンテンツに関するすべての情報が失われることです。変更したドキュメントを保存しようとすると、richtextbox から Rtf テキストを取得しますが、スタイル タグが含まれていません。

MemoryStream ms = new MemoryStream();
rtbViewer.Selection.Save(ms, DataFormats.Rtf);

ソース ファイルからすべてのタグを取得するにはどうすればよいですか?

4

1 に答える 1

-1

これは私にとってはうまくいきました。

<RichTextBox Height="100" HorizontalAlignment="Left" Margin="306,30,0,0" Name="rtfMain"        VerticalAlignment="Top" Width="200" />

rtfMain.Selection.Load(new FileStream(@"C:\temp\document.rtf", FileMode.Open), DataFormats.Rtf);
于 2012-10-18T23:22:15.007 に答える