在C#控制台应用程序中,我需要从RTF字符串中提取文本,向其中添加更多文本,然后将其转换回RTF。我已经能够使用System.Windows.Forms.RichTextBox类执行此操作,但我发现在非Forms应用程序中使用Forms控件有点奇怪。有没有更好的方法呢?
答案 0 :(得分:3)
请参阅有关此主题的讨论:
答案 1 :(得分:1)
除非您使用的是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规范正确处理和格式化文本。
答案 2 :(得分:1)
我认为你应该动摇这种“奇怪”的感觉。这没有什么奇怪的。
答案 3 :(得分:0)
这取决于你对'更好'的意思。您已经在使用最简单,最简单的方法。
答案 4 :(得分:0)
在控制台应用程序甚至Web应用程序中使用用户界面控件没有任何问题。 Windows控件是.NET Framework的一部分,也可以使用它们。这些控件不需要以“表单”托管,以便工作。
重新发明轮子,使用DLL / ActiveX / OCX,并使用Linux根本不是你的问题的实际答案。更好的方法是......做你所知道的。实际上,使用现有的框架方法然后使用建议的替代方案可以获得性能和维护优势。