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

Posted

技术标签:

【中文标题】如何在 C# 中将文本提取/插入到 RTF 字符串中【英文标题】:How do I extract/insert text into RTF string in C# 【发布时间】:2010-09-06 13:06:12 【问题描述】:

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

【问题讨论】:

请参阅有关此主题的讨论:https://***.com/questions/20450/cleaning-up-rtf-text 【参考方案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 规范正确处理和格式化文本。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

这取决于你所说的“更好”是什么意思。您已经在使用最简单、最简单的方法了。

【讨论】:

【参考方案4】:

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

重新发明***、使用 DLL/ActiveX/OCX 和使用 Linux 根本不是您问题的实际答案。更好的方法是……做你知道的。使用现有框架方法然后使用建议的替代方法实际上有性能和维护方面的好处。

【讨论】:

以上是关于如何在 C# 中将文本提取/插入到 RTF 字符串中的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中将图像插入 RTF 文档

如何将 RTF 格式转换为字符串 C#

如何从 Word 文档中提取 RTF / HTML 文本?

如何在 RichTextBox 中添加 RTF 文本,Win C#

rtf文本格式如何转换html格式(c#代码实现)

如何将 RTF 文本复制到剪贴板以在 excel 中使用