# OCR zawiesza się na dużych plikach PDF z językiem angielskim w trybie Fast jako językiem wtórnym
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ść.
```txt
Execution stops at the ocr.Read() call. No exception is thrown and no error is logged.
```
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.
```csharp
// 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.
```csharp
// 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ę.
[[w:(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ę.)]]
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.
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 PDFsocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
// This line causes the hang on large PDFs
ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
C#
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);
// ocr.AddSecondaryLanguage(OcrLanguage.EnglishFast);
var ocr = new IronTesseract
{
Language = OcrLanguage.English
};
ocr.AddSecondaryLanguage(OcrLanguage.Hindi);
ocr.AddSecondaryLanguage(OcrLanguage.Marathi);
C#
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.