OCR在处理包含EnglishFast作为辅助语言的大型PDF时卡住
This article was translated from English: Does it need improvement?
Translated
View the article in English
当OcrLanguage.EnglishFast被添加为辅助语言时,IronOCR可能在处理大型PDF时中途停滞。 没有抛出异常,执行也不会恢复,因此请求似乎一直运行。
Execution stops at the ocr.Read() call. No exception is thrown and no error is logged.
当EnglishFast模型位于Windows的辅助语言列表中时,会触发停滞。 在我们针对IronOCR 2026.7.2的测试中已重现该问题。 在发布修正版本之前,需要将该范围内的任何版本视为可能受影响。 相对于其他辅助语言重新排序EnglishFast无济于事。
解决方案
1. 查找辅助语言配置
在您的OCR设置中定位任何传递AddSecondaryLanguage调用。
// This line causes the hang on large PDFs
ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
// This line causes the hang on large PDFs
ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
' This line causes the hang on large PDFs
ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast)
$vbLabelText
$csharpLabel
2. 删除EnglishFast,保留English为主语言
删除或注释掉导致问题的调用。 将OcrLanguage.English设置为主语言以保持英语识别质量,保留其他辅助语言,它们不受影响。
// ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
var ocr = new IronTesseract
{
Language = OcrLanguage.English
};
ocr.AddSecondaryLanguage(OcrLanguage.Hindi);
ocr.AddSecondaryLanguage(OcrLanguage.Marathi);
// ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
var ocr = new IronTesseract
{
Language = OcrLanguage.English
};
ocr.AddSecondaryLanguage(OcrLanguage.Hindi);
ocr.AddSecondaryLanguage(OcrLanguage.Marathi);
Imports IronOcr
Dim ocr As New IronTesseract With {
.Language = OcrLanguage.English
}
ocr.AddSecondaryLanguage(OcrLanguage.Hindi)
ocr.AddSecondaryLanguage(OcrLanguage.Marathi)
$vbLabelText
$csharpLabel
去除OcrLanguage.English为主语言可维持大量英文文本文档的覆盖性。
3. 重新运行受影响的PDF
再次处理该文档。 现在应能顺利完成所有页面的处理,不会停滞。
警告卡住不产生异常,也没有日志条目。 执行仅停在ocr.Read(),因此卡住的请求是唯一的症状。
准备开始了吗?
Nuget 下载 6,175,195 | 版本: 2026.7 刚刚发布

