OCR se bloque sur des PDFs volumineux avec la langue secondaire EnglishFast
IronOCR peut se bloquer en cours de traitement sur des PDFs volumineux lorsque OcrLanguage.EnglishFast est ajouté comme langue secondaire. Aucune exception n'est levée et l'exécution ne reprend jamais, donc la requête semble s'exécuter indéfiniment.
Execution stops at the ocr.Read() call. No exception is thrown and no error is logged.
Le blocage est déclenché par le modèle EnglishFast lorsqu'il est dans la liste des langues secondaires sur Windows. Il a été reproduit lors de nos tests sur IronOCR 2025.12.3, 2026.1.2, 2026.2.1, et 2026.3.3 à travers 2026.7.2. Jusqu'à ce qu'une version corrigée soit publiée, considérez toute version dans cet intervalle comme potentiellement affectée. Réorganiser EnglishFast par rapport aux autres langues secondaires n'aide pas.
Solution
1. Trouver la configuration des langues secondaires
Trouvez tout appel à AddSecondaryLanguage qui passe OcrLanguage.EnglishFast dans votre configuration OCR.
// 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. Retirer EnglishFast et garder English en primaire
Supprimez ou commentez l'appel incriminé. Définissez OcrLanguage.English comme langue principale pour que la qualité de reconnaissance en anglais soit préservée, et laissez vos autres langues secondaires en place, elles ne sont pas affectées.
// 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)
Supprimer EnglishFast enlève le modèle rapide en anglais, mais garder OcrLanguage.English comme langue principale maintient la couverture pour les documents avec un texte anglais significatif.
3. Relancer le PDF affecté
Traitez le document à nouveau. Il devrait maintenant se compléter sur toutes les pages sans blocage.

