在 C# 控制台应用程序中,我需要从 RTF 字符串中提取文本,向其中添加更多文本,然后将其转换回 RTF。我已经能够使用 System.Windows.Forms.RichTextBox 类来做到这一点,但我发现在非 Forms 应用程序中使用 Forms 控件有点奇怪。有没有更好的方法来做到这一点?
4 回答
除非您使用 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 根本不是您问题的实际答案。更好的方法是……做你知道的。使用现有的框架方法然后使用建议的替代方法实际上有性能和维护方面的好处。