O que o OCR faz com um PDF escaneado
Quando um scanner ou o celular gera um PDF, cada página entra como uma imagem. Abrir o arquivo mostra o texto, mas para o leitor de PDF não há letra nenhuma ali: a busca não acha a palavra, a seleção pega a página inteira como figura e um leitor de tela não tem o que ler. O OCR (reconhecimento óptico de caracteres) olha a imagem, separa linhas e palavras e diz qual texto está desenhado em cada pedaço.
O PDF pesquisável guarda esse texto num modo que a especificação do PDF (ISO 32000-1) chama de "nem preencher nem contornar": o modo de renderização 3, invisível. A imagem continua sendo o que aparece e o que sai na impressão; o texto fica embaixo dela, no lugar de cada palavra, e é ele que a busca acha e que a seleção copia. Por isso o arquivo não muda de aparência nem perde qualidade: a página original não é redesenhada nem recomprimida.
O reconhecimento aqui é o do Tesseract, o motor de OCR de código aberto que, a partir da versão 4, usa redes neurais LSTM, rodando no navegador em WebAssembly. Ele não lê PDF direto: cada página é desenhada pelo pdf.js a 300 dpi, a resolução a partir da qual a documentação do Tesseract diz que ele lê melhor, e é essa imagem que vai para a leitura. A precisão depende da folha: papel torto, sombra, carimbo por cima do texto e letra pequena digitalizada em baixa resolução são o que mais produz erro.