C# コンソール アプリでは、RTF 文字列からテキストを抽出し、さらにテキストを追加してから、RTF に戻す必要があります。System.Windows.Forms.RichTextBox クラスを使用してこれを行うことができましたが、非フォーム アプリでフォーム コントロールを使用するのは少し奇妙だと思います。これを行うより良い方法はありますか?
4 に答える
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 の使用は、あなたの質問に対する実用的な答えではありません。より良い方法は...あなたが知っていることをすることです。実際には、既存のフレームワーク メソッドを使用してから提案された代替方法を使用することには、パフォーマンスとメンテナンスの利点があります。