O que a ferramenta de OCR de PDF realmente faz
Um PDF digitalizado parece texto mas não é. É uma pilha de imagens de texto — bitmaps que sua câmera ou scanner capturou, enfiados num invólucro PDF. Quando você aperta Cmd-F para pesquisar, nada acontece. Quando você seleciona um parágrafo, o cursor passa por cima dos pixels e não pega nada. Isso porque não há texto no arquivo, só a aparência de texto. A ferramenta de OCR de PDF resolve isso. Ela renderiza cada página num canvas com pdfjs-dist, depois roda Tesseract.js — uma porta WebAssembly do motor open source Tesseract — para ler os caracteres de volta dos pixels. Você recebe um arquivo .txt real com as palavras reconhecidas. Tudo acontece no seu navegador. Seu scan nunca sai da máquina.
Essa última parte é o ponto inteiro. OCR está online há duas décadas; escolha qualquer um dos OnlineOCR.net, SmallPDF, iLovePDF, versão web do Adobe Acrobat — todos vão fazer. Cada um deles faz upload do seu documento primeiro. Tudo bem para um folheto. Não está bom para um contrato de empréstimo assinado, um prontuário médico, um scan de passaporte, um formulário de imigração, uma declaração de imposto ou qualquer outra coisa que as pessoas de fato passam pelo OCR. O Tesseract roda o mesmo reconhecimento localmente; nós só fizemos o invólucro que permite a um navegador rodar.
Como usar a ferramenta de OCR de PDF
A ferramenta é uma tela. Solte um scan, escolha um idioma, clique em rodar.
- Solte ou escolha um PDF digitalizado. Até 50 MB e 100 páginas.
- Escolha o idioma do documento. Inglês, espanhol, alemão, francês, português, italiano e russo são suportados hoje. O modelo de idioma (~5-10 MB) baixa uma vez por idioma e o navegador armazena em cache.
- Escolha o DPI de renderização. 200 DPI é recomendado. 300 DPI dá a melhor precisão mas demora mais; 150 DPI é mais rápido mas só funciona bem em scans limpos.
- Clique em Rodar OCR. O modelo carrega (5-15 segundos da primeira vez), depois cada página é renderizada e reconhecida em ordem. O progresso aparece por página; você pode cancelar no meio.
- Copie o texto reconhecido ou baixe como .txt com o nome do arquivo de origem (ex.:
contract-scan.pdf→contract-scan.txt). A saída é UTF-8.
O único tráfego de rede durante uma rodada é o primeiro download do modelo de idioma do CDN do Tesseract. Essa requisição é um fetch de arquivo estático público — o mesmo que todo mundo pega — e não contém dados do PDF indo em nenhuma direção. Depois que o modelo aterrissa no cache do navegador, a aba Network fica em silêncio pelo resto da rodada, e em silêncio para sempre nas rodadas subsequentes no mesmo idioma.
DPI e idioma — os dois botões que importam
Tesseract é um casador de padrões treinado em formatos de caracteres. Duas coisas arruínam a correspondência de padrões: pixels insuficientes e o alfabeto errado. DPI controla o primeiro. Idioma controla o segundo.
| DPI de renderização | Páginas por minuto | Precisão em scans limpos | Melhor para |
|---|---|---|---|
| 150 DPI | ~30-50 | 92-96% | Scans já-nítidos, texto de corpo de coluna única, rascunhos rápidos |
| 200 DPI (padrão) | ~20-30 | 96-99% | A maioria dos documentos — o ponto doce entre velocidade e precisão |
| 300 DPI | ~10-15 | 97-99%+ | Fontes pequenas, letras miúdas, notas de rodapé, qualquer coisa em que vai confiar sem revisar |
Ir abaixo de 150 DPI é uma má troca. O Tesseract começa a confundir glifos semelhantes quando a altura do caractere cai abaixo de aproximadamente 30 pixels — "rn" lê como "m", "cl" lê como "d", L minúsculo parece o número 1. Ir acima de 300 DPI raramente ajuda e mais ou menos dobra o tempo de execução — a essa altura você está renderizando a página em mais detalhe do que o reconhecedor consegue usar.
Idioma importa mais do que as pessoas esperam. Tesseract carregado com o modelo inglês vai tentar reconhecer uma página em espanhol, mas não sabe que ñ, í ou á são letras — vai chutar e errar. Escolha o idioma dominante do documento. Para um contrato em espanhol com alguns nomes de marca em inglês salpicados, escolha espanhol; o Tesseract acertará os nomes de marca aproximadamente e o texto do corpo exatamente. Para documentos multi-escrita (inglês ao lado de chinês, árabe, hindi), o Tesseract não é bom em trocar de escrita no meio — avise se você precisa de um desses e adicionaremos o modelo ao seletor.
Um exemplo prático com números reais
Pegue um caso real: um PDF digitalizado de 12 páginas de um histórico universitário dos anos 1980 — fonte de máquina de escrever, scan a 200 DPI, sem danos óbvios, coluna única, inglês. O arquivo tem 4,2 MB.
A 200 DPI / inglês, a rodada leva 28 segundos do início ao fim (depois que o modelo já está em cache de uma sessão anterior). A saída é um arquivo .txt de 6,8 KB. Conferindo a saída contra o original: 1.247 palavras na página, 14 erros de OCR no total. A maioria foi confusão "I" vs "l" vs "1" na coluna de matrícula. Nomes de disciplinas saíram limpos. Notas saíram limpas. O cabeçalho do histórico — a área do brasão da escola, onde o scan pegou parte do selo — foi a única zona com lixo de verdade. Limpeza manual levou dois minutos num editor de texto.
Mesmo documento a 300 DPI: 51 segundos, 4 erros de OCR. Mesmo documento a 150 DPI: 18 segundos, 38 erros — visivelmente pior, os dígitos foram bastante prejudicados. 200 DPI foi a escolha certa.
Agora inverta a entrada: uma foto de celular de uma nota de reunião manuscrita, exportada como PDF. O Tesseract devolveu um arquivo quase em branco com alguns caracteres avulsos. Essa é a resposta honesta — o Tesseract foi treinado em texto impresso em máquina, e manuscrito é um problema diferente. Não fingimos.
Como isto se compara ao Adobe Acrobat, SmallPDF, iLovePDF
A comparação honesta: o OCR do Adobe Acrobat é melhor que o nosso em entradas difíceis, e dizemos isso abertamente.
O Acrobat roda Tesseract por baixo do capô (ou rodava historicamente — a Adobe colocou ML própria por cima anos atrás) mais uma pilha de pré-processamento: correção de inclinação, correção de contraste, detecção de linha e um modelo de linguagem pós-OCR que pega erros comuns de reconhecimento. Num recibo amassado fotografado sob luz fluorescente, o Acrobat vai produzir texto utilizável onde o Tesseract devolve papa. Isso vale ~US$ 20/mês se seu trabalho envolve fazer OCR de entradas reais bagunçadas o dia todo. Num scan limpo a 200-300 DPI de texto impresso em máquina num idioma comum, a diferença diminui — Tesseract frequentemente acerta 97%+, Acrobat frequentemente 99%+, e para a maioria dos usuários a diferença não justifica enviar o documento.
SmallPDF e iLovePDF envolvem OCR server-side (mesma família de motores) atrás de uma cota diária de arquivo grátis e um empurrão de assinatura recorrente. Funcionam. Também mantêm seu PDF nos servidores deles por pelo menos algumas horas, geralmente mais dependendo da política de retenção que você não leu. Para scans sensíveis, esse é o padrão errado. Para um folheto de marketing, não importa.
OnlineOCR.net e o OCR do PDF24 são a ponta barata desse mercado — funcionam, cheios de anúncios, com limite de tamanho de arquivo, saída com marca d'água a não ser que você se cadastre. São o que queremos dizer quando apontamos para a prateleira de baixo do Big Software. Estamos na troca oposta: mais lento que nada (Tesseract é WASM single-thread, sua CPU faz o trabalho), sem upload, sem cadastro, sem cota.
De que depende um OCR limpo
OCR é correspondência de padrão em pixels. O padrão tem que estar visível. Cinco coisas conduzem a precisão mais do que qualquer outra:
- Resolução do scan. 200-300 DPI é o piso para OCR confiável. Fotos a 100 DPI de celular frequentemente parecem ok para um humano e confundem o Tesseract — os traços das letras são poucos pixels de largura para o reconhecedor travar numa forma.
- Contraste. Tinta preta em papel branco é o melhor. Fotocópias desbotadas de fotocópias, onde as letras se misturam no fundo da página, derrubam a precisão rápido. Ajuste contraste no software do scanner antes de salvar o PDF se puder.
- Inclinação. Uma página digitalizada num ângulo de 5° lê pior do que uma reta. O Acrobat corrige automaticamente; o Tesseract não. Redigitalize com uma página mais reta ou rotacione num visualizador primeiro.
- Fonte. Fontes modernas de corpo a 10-12pt fazem OCR limpo. Fontes decorativas, blackletter, faces muito finas ou muito gordas, tipo de exibição em maiúsculas e manuscrito são todas mais difíceis.
- Fundo. Páginas brancas sólidas ou creme claro são fáceis. Páginas com marca d'água pesada, papel de segurança (fundo listrado num cheque, padrão num diploma) e papel envelhecido com amarelamento são todos ruído para o reconhecedor.
A única correção de maior alavancagem numa rodada ruim de OCR é redigitalizar a 300 DPI com o contraste reforçado. Também é gratuita.
Renderizar para texto não é o mesmo que extrair texto embutido
Isto é a coisa que as pessoas erram consistentemente. Há dois trabalhos PDF-para-texto que soam idênticos e não são.
Fazer OCR da página (o que esta ferramenta faz): cada página é renderizada como bitmap de alta resolução, depois o Tesseract reconhece caracteres a partir desses pixels. Funciona em PDFs digitalizados, PDFs de foto-de-página, qualquer coisa onde o texto é parte de uma imagem. Lento, ligeiramente impreciso, a única opção para PDFs só-imagem.
Extrair o texto embutido (ferramenta diferente): lê os objetos de texto armazenados dentro do PDF diretamente. Funciona em qualquer PDF nascido de um processador de texto, do "Salvar como PDF" de um navegador, LaTeX, InDesign — qualquer coisa que produziu o PDF a partir de texto real. Instantâneo, perfeitamente preciso, mas devolve nada em scans porque não há texto embutido para extrair.
Se seu PDF já tem texto selecionável — tente destacar uma frase em qualquer leitor de PDF — use Extrair Texto de PDF. É mais rápido e exato. OCR é para o caso em que não há texto para extrair, só pixels para reconhecer.
O que o Tesseract é e o que não é
O Tesseract começou como projeto de pesquisa nos HP Labs nos anos 1980, foi aberto em 2005 e virou o motor OCR preferido do Google pela década seguinte. A versão comunidade que rodamos é o mesmo motor que vai dentro de incontáveis ferramentas desktop, distribuições Linux e pipelines de processamento de documento. Não é novo e não é mágica — é maduro, previsível e grátis.
No que é bom: texto impresso em máquina, alfabetos latino e cirílico modernos, fontes de corpo em tamanhos normais, livros, contratos, artigos, recibos digitalizados, documentos datilografados. No que é mediano: fontes pequenas abaixo de 8pt, notação matemática, layouts multi-coluna (tenta, mas às vezes intercala colunas), tabelas (renderizadas como texto em ordem de leitura, não como tabela). No que é ruim: manuscrito (essencialmente indecifrável; texto de letra-de-forma muito caprichado ocasionalmente funciona mas espere erros pesados), CAPTCHAs (de propósito), fontes muito estilizadas, qualquer coisa onde os caracteres são deliberadamente difíceis de ler.
Os OCRs comerciais mais novos — Google Cloud Vision, Microsoft Azure Document Intelligence, AWS Textract — superam o Tesseract em entradas difíceis porque usam modelos transformer modernos treinados em conjuntos de dados enormes. Também cobram por página e exigem que você envie seu documento para a nuvem. Para a maioria dos documentos, na maioria dos dias, Tesseract no navegador é a troca certa.
Ferramentas PDF relacionadas
A ferramenta OCR de PDF é uma peça num conjunto maior de ferramentas PDF. Algumas vizinhas que aparecem com frequência:
- Extrair Texto de PDF — use primeiro se seu PDF já tem texto selecionável. Instantâneo e exato, sem precisar de OCR.
- Extrair Imagens de PDF — extraia as fotos embutidas de um PDF como arquivos individuais. Trabalho diferente do OCR.
- PDF para PNG — renderize cada página como uma imagem sem perdas. Útil quando você quer as imagens das páginas junto com o texto reconhecido.
- Dividir PDF — quebre um PDF longo em pedaços antes do OCR. A ferramenta OCR tem teto de 100 páginas por rodada; para documentos mais longos, divida primeiro.
- Comprimir PDF — se seu scan é enorme, comprimir antes não vai prejudicar a precisão do OCR a 200 DPI e pode trazer a contagem de páginas para dentro do limite por rodada.
O Microapp envia cada ferramenta PDF para o lado do navegador, com as mesmas trocas explicitadas em cada página. 10% de cada dólar que o Microapp ganha vai para caridade, do topo, auditado trimestralmente — então a ferramenta que você está usando tem que funcionar de verdade sem anúncios no caminho.
Perguntas frequentes
Como isto se compara ao OCR do Adobe Acrobat?
Honestamente: o Acrobat é melhor em entradas difíceis. O Acrobat usa Tesseract mais uma camada de ML própria da Adobe para corrigir inclinação, contraste e fazer pós-processamento por modelo de linguagem — lida com scans bagunçados (iluminação ruim, páginas rotacionadas, baixo contraste, fontes incomuns) com mais confiabilidade. Esta ferramenta é Tesseract puro. Em scans limpos de texto impresso em máquina a 200-300 DPI num idioma suportado, a diferença é pequena e você ganha a vantagem de não fazer upload do documento. Em scans difíceis, o Acrobat ganha. Preferimos te contar isso do que vender demais.
Quais idiomas ele suporta?
Hoje: inglês, espanhol, alemão, francês, português, italiano e russo. Cada idioma tem seu modelo Tesseract de ~5-10 MB que baixa no primeiro uso e fica em cache depois. O Tesseract em si suporta 100+ idiomas — se você precisa de um que não está no seletor (chinês, japonês, árabe, hindi, etc.), avise que adicionamos. Documentos multi-idioma funcionam melhor se você escolher o idioma dominante; o Tesseract não é bom em trocar de escrita no meio.
Funciona em manuscrito?
Quase nunca. O Tesseract foi treinado em texto impresso em máquina — fontes, livros, documentos datilografados digitalizados, sinalização. Manuscrito cursivo é essencialmente indecifrável para ele; texto em forma de letra muito caprichado ocasionalmente funciona mas espere erros pesados. Para OCR de manuscrito você precisa de outro modelo (Google Cloud Vision e Microsoft Azure Document Intelligence ambos têm modelos treinados em manuscrito). Não fingimos que o Tesseract consegue.
Quão rápido é?
Duas fases. (1) Carregamento do modelo: 5-15 segundos da primeira vez que você escolhe um idioma (o .traineddata de ~5-10 MB baixa). Em cache depois, então rodadas subsequentes no mesmo navegador são instantâneas. (2) Reconhecimento: ~1-3 segundos por página a 200 DPI num laptop moderno, ~3-8 segundos a 300 DPI. Um relatório digitalizado de 20 páginas a 200 DPI normalmente termina em 30-60 segundos do início ao fim depois da primeira rodada. Tem botão Cancelar se mudar de ideia no meio.
Meu PDF realmente é privado?
O PDF em si nunca sai do navegador. O pdfjs-dist renderiza páginas localmente; o Tesseract.js roda o OCR localmente via WebAssembly. A única requisição de rede durante uma rodada é buscar o modelo de idioma do CDN do Tesseract (jsdelivr) na primeira vez — e isso é só um download de arquivo estático público, o mesmo que todo mundo pega, sem dados de PDF dentro. Confira a aba Network do navegador durante o reconhecimento: depois que o modelo carrega, zero requisições de saída até você recarregar a página.
Por que o texto reconhecido tem erros?
OCR é inerentemente imperfeito — é correspondência de padrão em pixels. A precisão depende muito da qualidade da entrada: scan limpo a 300 DPI de tipografia de livro padrão com bom contraste = frequentemente 98%+. Foto a 150 DPI de um recibo amassado sob luz fluorescente = muito pior. Problemas comuns: confusão entre 'l' vs 'I' vs '1', 'O' vs '0', letras grudadas em fontes antigas, colunas se intercalando, notas de rodapé misturadas com texto do corpo. Sempre revise a saída do OCR antes de confiar para uso jurídico, médico ou financeiro.
Posso fazer OCR num PDF que já tem texto?
Você pode, mas é a ferramenta errada. PDFs com texto embutido (qualquer coisa exportada do Word, Google Docs, LaTeX ou 'Salvar como PDF' de um navegador) já têm texto selecionável — rodar OCR neles re-reconhece os glifos renderizados do zero, o que é mais lento e menos preciso do que só ler o texto que já está ali. Para esses, use a ferramenta Extrair Texto de PDF — é instantânea e exata.
Vocês vão adicionar saída de PDF pesquisável?
Sim, esse é o plano da v2. A saída atual é um arquivo .txt simples das palavras reconhecidas. Um 'PDF pesquisável' manteria as imagens originais das páginas mas adicionaria uma camada de texto invisível por cima, para que você pudesse destacar, selecionar e usar Ctrl-F dentro do PDF como um documento de texto normal. É uma construção mais complexa (posicionar cada palavra reconhecida no x/y certo na página) e quisemos entregar a versão honesta em .txt primeiro. O seletor de saída mostra 'PDF pesquisável — em breve' para você saber que está planejado.
Qual é o limite de tamanho de arquivo?
50 MB e 100 páginas por rodada. OCR é muito mais pesado do que extração de texto — cada página é renderizada num canvas de alta resolução e processada por um modelo WASM — então os limites são mais apertados que nossas outras ferramentas PDF. Para documentos maiores, divida o PDF com nosso Dividir PDF e faça OCR nos pedaços separadamente. Num dispositivo com pouca memória (celular, Chromebook com 4 GB de RAM), mesmo 100 páginas a 300 DPI podem estourar memória; baixe para 200 DPI ou divida em pedaços menores.