Tesseract: o motor de OCR livre por trás do PDF pesquisável
Como o Tesseract reconhece texto em PDF escaneado: 300 DPI, camada invisível, idiomas, limite de 60 páginas e por que a busca falha em algumas palavras.
O Tesseract é um motor de OCR de código aberto que reconhece letras em imagens. No AjustaPDF, ele lê cada página escaneada em 300 DPI e devolve o texto como uma camada invisível, posicionada sobre as letras da imagem. A foto original não é alterada: o que muda é que o texto passa a ser pesquisável e copiável.
De onde vem o Tesseract
O Tesseract nasceu num laboratório da HP, passou a ser desenvolvido pelo Google e hoje é mantido por uma comunidade de colaboradores. Ele é distribuído com licença Apache 2.0, e os modelos de idioma são arquivos públicos. Por isso é a escolha padrão de quem precisa de OCR sem contrato com fornecedor. Quem hoje usa um programa pago de OCR só para deixar o PDF pesquisável encontra a comparação em alternativa ao ABBYY FineReader.
Ele não é um serviço. É um programa de linha de comando que recebe uma imagem e devolve texto, ou um PDF com texto invisível. Quem usa o Tesseract num produto precisa decidir como renderizar as páginas, como lidar com a orientação e como juntar o resultado ao documento original. Essas decisões fazem tanta diferença quanto o próprio reconhecimento, e para rodar o Tesseract sem instalar nada no computador há o caminho do contêiner, em processar PDFs no Docker. O uso do Tesseract com OCRmyPDF está em OCR em PDF com OCRmyPDF e Python. O guia como funciona o OCR explica o reconhecimento em si, passo a passo.
O caminho de uma página no site
O OCR do site segue quatro etapas, nessa ordem. Cada uma tem uma ferramenta específica, o que ajuda a entender onde um erro pode nascer.
| Etapa | Ferramenta | O que faz |
|---|---|---|
| Verificar texto | pdftotext | Pula páginas com 20 caracteres visíveis ou mais |
| Renderizar | pdftoppm | Converte a página em PNG em tons de cinza a 300 DPI |
| Reconhecer | Tesseract | Gera um PDF com texto invisível sobre a página |
| Sobrepor | qpdf | Coloca a camada de texto sobre o PDF original |
A primeira etapa define o que será lido. Uma página com texto selecionável já está pronta e não passa pelo motor de reconhecimento. Só as páginas escaneadas entram na fila, e isso economiza tempo num documento misto, com algumas páginas digitais e outras digitalizadas.
A quarta etapa é a que preserva o visual. A camada de texto é uma sobreposição, e a imagem da página fica intacta. Por isso o arquivo cresce pouco: o texto de uma página pesa alguns kilobytes, segundo o próprio conteúdo da ferramenta.
Idiomas e o que cada opção significa
O Tesseract carrega um modelo por idioma. O formulário do site oferece quatro combinações: português, português mais inglês, inglês e espanhol. Cada uma aponta para os modelos correspondentes. Num documento com trechos em outra língua, a combinação certa melhora o reconhecimento daquelas palavras.
| Documento | Opção recomendada | Por quê |
|---|---|---|
| Só em português | Português | Um modelo só erra menos |
| Português com termos em inglês | Português mais inglês | Os dois modelos leem as palavras |
| Contrato internacional em inglês | Inglês | Evita forçar o modelo de português |
| Documento em espanhol | Espanhol | Acentos e a letra ñ são lidos pelo modelo certo |
Uma combinação com mais idiomas não é gratuita. O reconhecimento considera mais possibilidades e pode errar uma palavra que seria certa no idioma único. Por isso a escolha deve seguir o documento, não o desejo de cobrir tudo.
Limites e tempo de processamento
O motor lê até 60 páginas escaneadas por pedido. O limite existe porque o OCR precisa terminar dentro da janela de tempo da requisição. O comentário no código registra cerca de 2 segundos por página densa, medido na imagem de produção com duas CPUs. Com 60 páginas, sobra folga; com mais, o pedido é recusado com a sugestão de dividir o arquivo.
Dentro de um pedido, até quatro páginas são reconhecidas ao mesmo tempo, cada uma em um processo com uma única linha de execução. O motor preferiu isso a um processo com várias linhas por página, porque quatro processos independentes rendem mais do que um processo espalhado pelas CPUs.
Por que o OCR erra e o que melhora
A qualidade do reconhecimento depende da imagem, não do motor. O próprio OCR do site indica que papel liso, letra impressa e 200 DPI ou mais dão um texto quase sem erros. Manuscrito, carimbo sobre o texto e foto torta erram mais. Quando o texto saiu com palavras trocadas, veja OCR errou palavras para as causas mais comuns.
Para fotos tiradas com celular, a correção de perspectiva e de inclinação faz diferença. Se a página está torta, endireite-a antes do OCR. O guia sobre scan torto no PDF mostra como endireitar a página, e o guia sobre fundo cinza do scanner cuida do papel que escurece o texto.
Quando não precisa de OCR
Se o PDF já tem texto selecionável, o OCR não traz nada. Você pode confirmar isso tentando selecionar uma frase no leitor. Um PDF gerado a partir do Word ou de um sistema costuma ter texto; um escaneado não tem. Quando o texto existe mas está ruim, o problema é outro, e o guia de copiar texto de PDF escaneado trata disso.
Para ler e pesquisar um documento escaneado, use a ferramenta de OCR em PDF. Se o arquivo é uma foto de documento que ainda não virou PDF, comece pelo escanear documento, que endireita a página antes de tudo. Os resultados de OCR são um texto de trabalho: confira as palavras que importam antes de citá-las.
Perguntas frequentes
O Tesseract é gratuito e de código aberto?
Sim. O Tesseract é um motor de OCR distribuído com licença Apache 2.0, e o código e os modelos de idioma são públicos. Qualquer pessoa pode instalá-lo, estudá-lo ou usá-lo num servidor próprio, sem pagar licença.
Por que a busca não encontra uma palavra do PDF escaneado?
Porque o OCR errou aquela palavra ao reconhecê-la. A letra pode estar torta, borrada ou sob um carimbo, e o texto gravado fica diferente do que aparece na página. Abra o arquivo, procure a palavra visualmente e, se necessário, refaça o OCR com um escaneado mais nítido.
Quantas páginas o OCR do AjustaPDF lê de uma vez?
Até 60 páginas escaneadas por pedido. Páginas que já têm texto selecionável são puladas e não contam. Um documento maior precisa ser dividido em partes, e cada parte passa pelo OCR separadamente.
Escolher português ou português e inglês muda o resultado?
Muda. O Tesseract usa um modelo de idioma para cada língua, e um texto com palavras em inglês fica melhor reconhecido quando o inglês está ligado. Para um documento só em português, a opção de português basta e costuma errar menos.