C# でテキストを RTF 文字列に抽出/挿入するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/22346

  •  09-06-2019
  •  | 
  •  

質問

C# コンソール アプリでは、RTF 文字列からテキストを抽出し、それにテキストを追加して、RTF に変換し直す必要があります。System.Windows.Forms.RichTextBox クラスを使用してこれを行うことができましたが、非 Forms アプリで Forms コントロールを使用するのは少し奇妙に感じます。これを行うより良い方法はありますか?

役に立ちましたか?

解決

このトピックに関するディスカッションを参照してください。

RTF テキストのクリーンアップ

他のヒント

Windows フォームを使用しない限り、RTF を使用して何かを行うのは非常に困難です。上で述べたように、フォームを使用するのが最も簡単な方法です。

自分で何かを書くこともできますが、RTF の仕様はかなり複雑です。
http://www.biblioscape.com/rtf15_spec.htm

または、多数の利用可能な変換 DLL/ActiveX オブジェクトを使用することもできます。http://www.sautinsoft.com/

または - Linux からこれを実行している場合は、利用可能なツールもあります。ざっと見ただけで UnRTF が表示されるhttp://www.gnu.org/software/unrtf/unrtf.html

RTF 仕様ではテキストが正しく扱われ、フォーマットされると考えているため、テキストを RTF に戻す機能は含めていません。

この「変だ」という感情を払拭したほうがいいと思います。何もおかしなことはありません。

それは「より良い」が何を意味するかによって異なります。あなたはすでに、最もシンプルで簡単な方法を使用しています。

コンソール アプリケーションや Web アプリケーションでユーザー インターフェイス コントロールを使用することに問題はありません。Windows コントロールは .NET Framework の一部であるため、それらを使用することもできます。これらのコントロールは、機能するために「フォーム」でホストする必要はありません。

車輪の再発明、DLL/ActiveX/OCX の使用、Linux の使用は、あなたの質問に対する現実的な答えではありません。より良い方法は...知っていることを実行することです。実際、既存のフレームワーク手法を使用するよりも、提案された代替手段を使用すると、パフォーマンスとメンテナンスの面で利点があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top