.NET文本编辑器,通过拼写检查接受HTML和输入/输出

我一直在寻找能够做到这一点的东西,但是还没有运气……我们有一个内部应用程序,用于存储/使用HTML格式的文本。 现在我正在寻找一个新的控件来编辑它。

不需要function齐全的HTML编辑器,只需要处理简单的格式化。 它还需要拼写检查function。 最初,我们使用嵌入了Microsoft的DSO成帧器控件的Word。 这导致工作站上的COM头痛和性能问题。 最近我们一直在编辑模式下使用IE。 这解决了性能问题,但没有解决COM问题。

我想找到没有外部依赖关系的东西,或者至少是所有托管代码。 我不介意在richtextbox周围构建我自己的控件,但我关注的是HTML-> RTF-> HTML转换。 由于我们必须处理传入的电子邮件,因此我们不能过于自信地只使用HTML的一部分。 如果符合我们的需求,我们也会考虑购买一个组件。 我更喜欢轻量级的东西。 我们不需要重新嵌入Word了!

有没有其他人遇到同样的问题? 你是怎么解决的?

以下是一些用于处理语法突出显示的基于.NET的开源文本编辑器的选项

  • SharpDevelop C#IDE的ICSharpCode.TextEditor组件
  • DotNet火球

为HTML设置它们或查找HTML的现有语法定义应该相对容易。

我不太确定将拼写检查嵌入其中,但本文可能会引起关注:

SpellCheck.net使用C#拼写检查解析

看看XStandard吧 。 它是一个function齐全的XHTML编辑器,但您可以根据自己的要求进行自定义。 我已经在Windows和Web应用程序中使用它并获得了良好的结果,您可以获得Lite(免费)版本或Pro(合理的成本并允许完全自定义编辑器)。 他们的技术支持也很好。 我们遇到的唯一“问题”是它产生有效/兼容的XHTML,因此如果您要导入非XHTML内容,则必须首先通过HTMLTidy或类似方式运行它。

哦是的 – 它也包括一个拼写检查器。

我用这个HTML文本框解决了它? 它封装了IE并将其用于HTML编辑,就像你一样。 没有拼写检查。

我和你在同一条船上。

在MSHTML com控件周围使用托管包装器(不记得哪一个,有一些,例如有这个)。 根据我的理解,我们公司已经检查了一些这样的控件,目前我们决定坚持使用MSHTML。

我们还需要一个拼写检查器,我们正在使用RapidSpell 。 但是有很多开源/免费拼写检查器。

我们从MSHTML中提取纯文本并允许拼写检查程序处理它。 母鸡收集他无效的单词及其修复的列表,并将其注入html流。

它不是那么多工作,大约一个星期将它们粘合在一起。

关于使用RTF控件,我们也检查了这种可能性,并决定不使用它,因为我们过去在HTML> RTF> HTML中有很多痛苦。

MSHTML控件相对于其他第三方控件的一个优点是它支持从大多数应用程序复制并粘贴到控件中,您可以从word或其他一些格式化文本中复制,并且粘贴的文本将保留格式,有些东西大多数其他控件都不支持。

由于我为我们的内部应用程序购买了一个拼写检查控件(这可能是完全矫枉过正),因此我太过于吝啬,我拼凑了一个IExtenderProvider,它在文本框上进行波浪形红线拼写检查。 我一直坐在代码上一段时间,但我只是在博客上谈论它 ; 那里有一个示例应用程序。

一些警告:

  • 它会认为HTML拼写错误,但您可以修改它以使其适合您。
  • 哎呀,它甚至认为数字拼错了。 一个简单的解决方案,但我一直懒得修复它。
  • 如果字典丢失了,那就完全不知所措了。

但是,希望它能给你一些想法,即使你不能直接使用它。

您可能会考虑的另一件事是我知道一些WPF文本控件内置了拼写检查。但我不确定它们如何处理HTML。

我刚跑过Text Control 。 我不能说个人使用,但它看起来是纯粹.net中function丰富的编辑器。 似乎有广泛的格式支持,以及您需要的拼写检查。

CKEditor(原名fckEditor)。 这是包括厨房水槽在内的所有东西,但您可以配置工具栏,因此如果您只想要基本的HTMLfunction,那么您可以这样做。 它包含所有类型的Web编程语言示例,包括ASP.NET,请参阅http://ckeditor.com/demo 。 此外,它是开源的。

我实际上在寻找.NET 2.0 winforms控件

几年前我找了一个,但没有找到一个。

所以,我开发了一个:请参阅http://www.modeltext.com/html/

它是一个WYSIWYG XHTML编辑器,用C#编写,带有.Net-native(即非COM)API。 它支持一些(不是全部)CSS属性,派生自System.Windows.Forms.Control,并依赖于.Net框架的版本2(以及其他任何内容)。

它不包括拼写检查程序,但它的API允许您走路并与DOM交互,因此您可以自己开发拼写检查function,如果您需要它。