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

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

请参阅有关此主题的讨论:https://dev59.com/0nVD5IYBdhLWcg3wTZ1m - Vincent
4个回答

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规范正确地处理和格式化文本。


1

我认为你应该摆脱这种“奇怪”的感觉。这并不奇怪。


0

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

重新发明轮子、使用DLL/ActiveX/OCX以及使用Linux都不是对你的问题的实际解答。更好的方法是……做你所熟悉的。实际上,使用现有的框架方法而不是使用建议的替代方案,有助于提高性能和维护性。


0

这取决于你对“更好”的定义。你已经在使用最简单和最容易的方法了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接