在C#控制台应用程序中,我需要从RTF字符串中提取文本,向其中添加更多文本,然后将其转换回RTF。 我已经能够使用System.Windows.Forms.RichTextBox类执行此操作,但我发现在非Forms应用程序中使用Forms控件有点奇怪。 有更好的方法吗?

===============>>#1 票数:3 已采纳

请参阅有关此主题的讨论:

清理RTF文本

===============>>#2 票数: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规范正确地处理和格式化文本。

===============>>#3 票数:1

我想你应该动摇这种“奇怪”的感觉。 它没什么奇怪的。

===============>>#4 票数:0

在控制台应用程序甚至Web应用程序中使用用户界面控件没有任何问题。 Windows控件是.NET Framework的一部分,也可以使用它们。 为了工作,这些控件不需要以“表单”托管。

重新发明轮子,使用DLL / ActiveX / OCX,并使用Linux根本不是你的问题的实际答案。 更好的方法是......做你所知道的。 实际上,使用现有的框架方法然后使用建议的替代方案可以获得性能和维护优势。

===============>>#5 票数:0

这取决于你对'更好'的意思。 您已经在使用最简单,最简单的方法。

  ask by adeel825 translate from so

未解决问题?本站智能推荐: