如何在C#中将文本提取/插入RTF字符串

时间:2020-03-05 18:42:00  来源:igfitidea点击:

在Cconsole应用程序中,我需要从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根本不是解决问题的实际答案。更好的方法是...做我们所知道的。使用现有框架方法然后使用建议的替代方法实际上会对性能和维护方面有所帮助。