OCR trava em PDFs grandes com a língua secundária EnglishFast

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

IronOCR pode travar durante o processamento de PDFs grandes quando OcrLanguage.EnglishFast é adicionado como uma língua secundária. Nenhuma exceção é lançada e a execução nunca é retomada, portanto a solicitação parece executar para sempre.

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

O travamento é desencadeado pelo modelo EnglishFast quando está na lista de línguas secundárias no Windows. Ele foi reproduzido em nossos testes através do IronOCR 2025.12.3, 2026.1.2, 2026.2.1, e 2026.3.3 até 2026.7.2. Até que uma versão corrigida seja publicada, trate qualquer lançamento nesse intervalo como potencialmente afetado. Reordenar EnglishFast em relação às outras línguas secundárias não ajuda.

Solução

1. Encontre a configuração de língua secundária

Localize qualquer chamada para AddSecondaryLanguage que passa OcrLanguage.EnglishFast em sua configuração 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. Remova EnglishFast e mantenha o inglês como principal

Exclua ou comente a chamada problemática. Configure OcrLanguage.English como a língua principal para que a qualidade de reconhecimento em inglês seja preservada, e mantenha suas outras línguas secundárias, elas não são afetadas.

// 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

Remover EnglishFast remove o modelo rápido de inglês, mas manter OcrLanguage.English como a língua principal mantém a cobertura para documentos com texto significativo em inglês.

3. Reexecute o PDF afetado

Processe o documento novamente. Agora deve completar todas as páginas sem travar.

AvisoO travamento não produz nenhuma exceção e nenhuma entrada de log. A execução simplesmente para em ocr.Read(), então uma solicitação travada é o único sintoma para se observar.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Baixar 6,175,195 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.