Delphi:将rtf转换为文本的最佳方法

LaB*_*cca 6 delphi rtf

我需要将rtf转换为纯文本.我曾经写过一个剥去rtf标题的函数,但它永远不会完美.

因此,一个选项可以使用在运行时创建的TRichEdit(类似于此处描述的但当然在运行时完成).但还有另一种方式吗?这个或更好的方法是否有rtl功能?

更新:

这个问题中,我将rtf的最终版本写入了文本过程.

Ala*_*her 4

如果您确实想找到一种执行此转换的方法,您应该看看 TConversion 类是如何在 TRichEditStrings 类中实现的。这些类位于 ComCtrls.pas 中。通过了解 RichEdit 控件内部如何完成转换,您也许能够编写自己的控件。

然而,考虑到实现这一点的实际方面,并且不知道您的问题的性能要求是什么,我会选择您链接中概述的 TRichEdit 转换方法。

  • TRichEditStrings 不实现任何转换,所有工作均由 RichEdit 控件完成(TRichEdit 只是 Microsoft RichEdit 控件的包装)。对于简单的情况,编写自己的 RTF 到 TEXT 实现很简单,对于复杂的情况则非常复杂。Microsoft Word 可以将任何文档保存为 RTF,并保留所有格式。想想你见过的最奇怪的 Word 文档,使用最扭曲的表格结构;想象一下有人将其另存为 RTF 并要求您将其转换为 TEXT! (8认同)