OCR se bloque sur des PDFs volumineux avec la langue secondaire EnglishFast

This article was translated from English: Does it need improvement?
Translated
View the article in English

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)
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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.

AvertissementLe blocage ne produit aucune exception et aucune entrée de journal. L'exécution s'arrête simplement à ocr.Read(), donc une requête bloquée est le seul symptôme à surveiller.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 6,175,195 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronOcr
lancez un échantillon regardez votre image se transformer en texte consultable.