我需要将 rtf 转换为纯文本。我曾经编写过一个去除 rtf header 的函数,但它从来都不是完美的。
因此,一种选择是使用在运行时创建的 TRichEdit(类似于 here 所描述的内容,但当然是在运行时完成的)。但还有别的办法吗?是否有一个 rtl 函数或者更好的方法?
更新:
在 this question我编写了 rtf 到文本程序的最终版本。
最佳答案
如果您确实想找到一种执行此转换的方法,您应该看看 TConversion 类是如何在 TRichEditStrings 类中实现的。这些类位于 ComCtrls.pas 中。通过了解 RichEdit 控件内部如何完成转换,您也许能够编写自己的控件。
但是,考虑到实现这一点的实际方面,并且不知道您的问题的性能要求是什么,我会选择您链接中概述的 TRichEdit 转换方法。
关于Delphi:将 rtf 转换为文本的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214281/