在 C# 控制台应用程序中,我需要从 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 上执行此操作,也可以使用一些工具。粗略地一看就会出现 UnRTFhttp://www.gnu.org/software/unrtf/unrtf.html

我没有包含将文本转回 RTF 的内容,因为我认为 RTF 规范可以正确处理文本并设置文本格式。

我认为你应该摆脱这种“奇怪”的感觉。这没什么奇怪的。

这取决于你所说的“更好”是什么意思。您已经在使用最简单、最容易的方法来做到这一点。

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

重新发明轮子、使用 DLL/ActiveX/OCX 以及使用 Linux 根本无法解决您的问题。更好的方法是……做你知道的事。使用现有框架方法然后使用建议的替代方案实际上会带来性能和维护方面的好处。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top