大型PDF文件的OCR在EnglishFast次要語言上卡住
IronOCR在處理大型PDF文件時,如果將OcrLanguage.EnglishFast新增為次要語言,可能會中途卡住。 沒有拋出異常,執行不會恢復,所以請求似乎永遠運行。
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)
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)
刪除OcrLanguage.English作為主要語言可以保持對含有大量英文文字的文件的覆蓋。
3. 重新運行受影響的PDF
再次處理文件。 現在應該能夠完成所有頁面而不會卡住。

