OCR zawiesza się na dużych plikach PDF z językiem angielskim w trybie Fast jako językiem wtórnym

Curtis Chau
Curtis Chau
Updated: 3 lipca 2026

IronOCR może zawiesić się w trakcie przetwarzania dużych plików PDF, gdy OcrLanguage.EnglishFast jest dodany jako język wtórny. Nie jest zgłaszany żaden wyjątek i wykonanie nigdy nie zostaje wznowione, przez co zapytanie wydaje się działać w nieskończoność.

Execution stops at the ocr.Read() call. No exception is thrown and no error is logged.
Text

Zawieszenie jest wywołane przez model EnglishFast, gdy znajduje się na liście języków wtórnych w systemie Windows. Zostało to odtworzone w naszych testach w przypadku IronOCR 2025.12.3, 2026.1.2, 2026.2.1 i 2026.3.3 do 2026.7.2. Do czasu opublikowania poprawionej wersji, traktuj każdą wersję w tym zakresie jako potencjalnie dotkniętą. Przeorganizowanie EnglishFast względem innych języków wtórnych nie pomaga.

Rozwiązanie

1. Znajdź konfigurację języków wtórnych

Zlokalizuj jakiekolwiek wywołanie AddSecondaryLanguage, które przekazuje OcrLanguage.EnglishFast w twojej konfiguracji OCR.

// This line causes the hang on large PDFs
ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);

2. Usuń EnglishFast i zostaw język angielski jako główny

Usuń lub zakomentuj wywołanie powodujące problem. Ustaw OcrLanguage.English jako główny język, aby zachować jakość rozpoznawania angielskiego, a inne twoje języki wtórne pozostaw bez zmian, są one nietknięte.

// ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
var ocr = new IronTesseract
{
    Language = OcrLanguage.English
};
ocr.AddSecondaryLanguage(OcrLanguage.Hindi);
ocr.AddSecondaryLanguage(OcrLanguage.Marathi);

Usunięcie EnglishFast usuwa szybki model angielski, ale utrzymanie OcrLanguage.English jako głównego języka zapewnia pokrycie dla dokumentów z istotnymi fragmentami tekstu angielskiego.

3. Uruchom ponownie dotknięty plik PDF

Przetwórz dokument ponownie. Powinien teraz ukończyć przetwarzanie wszystkich stron bez zawieszania się.

Ostrzeżenie: Zawieszenie nie generuje żadnego wyjątku ani wpisu do logu. Wykonanie po prostu zatrzymuje się na ocr.Read(), więc zakleszczone zapytanie to jedyny symptom, na który należy zwrócić uwagę.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 6,357,159Wersja:2026.11właśnie wydany