单词互操作拼写检查(确定单词拼写正确的时间)
Word interop spell checking (determining when a word is spelled correctly)
我正在使用 Word 的拼写检查器来 post 处理 OCR,这在很大程度上要感谢 Spell Checking in C# Using Word Interop 我已经让整个事情在原则上正常工作。
我的问题是区分拼写正确的单词和单词的拼写检查器没有建议的随机垃圾字符序列。
foreach(string s in textBox1.Text.Split(' '))
{
if(s.Length > 0)
{
//Get suggestions for this 'word'
var suggestions = app.GetSpellingSuggestions(s, custDict, MainDictionary: Word.WdLanguageID.wdEnglishUK);
//There is no suggestion, displays correctly spelled words and random nonsense for which word has no suggestion.
if(suggestions.Count == 0)
{
MessageBox.Show(s);
}
foreach (Word.SpellingSuggestion spellingSuggestion in suggestions)
{
//Display the best suggestion then break.
if (suggestions.Count > 0)
{
MessageBox.Show(spellingSuggestion.Name);
break;
}
}
}
}
是否有某种机制可以确定建议的 'score' 或区分字典中存在的字符串和不存在的字符串?
提前致谢。
对于遇到同样问题的其他人,您可以使用 SpellingErrorType 枚举来确定该字符串是否存在于字典中。
我正在使用 Word 的拼写检查器来 post 处理 OCR,这在很大程度上要感谢 Spell Checking in C# Using Word Interop 我已经让整个事情在原则上正常工作。
我的问题是区分拼写正确的单词和单词的拼写检查器没有建议的随机垃圾字符序列。
foreach(string s in textBox1.Text.Split(' '))
{
if(s.Length > 0)
{
//Get suggestions for this 'word'
var suggestions = app.GetSpellingSuggestions(s, custDict, MainDictionary: Word.WdLanguageID.wdEnglishUK);
//There is no suggestion, displays correctly spelled words and random nonsense for which word has no suggestion.
if(suggestions.Count == 0)
{
MessageBox.Show(s);
}
foreach (Word.SpellingSuggestion spellingSuggestion in suggestions)
{
//Display the best suggestion then break.
if (suggestions.Count > 0)
{
MessageBox.Show(spellingSuggestion.Name);
break;
}
}
}
}
是否有某种机制可以确定建议的 'score' 或区分字典中存在的字符串和不存在的字符串?
提前致谢。
对于遇到同样问题的其他人,您可以使用 SpellingErrorType 枚举来确定该字符串是否存在于字典中。