Camadas de texto versus imagens de texto
Um PDF criado em um editor de texto, uma planilha ou um navegador guarda o texto como caracteres: cada letra é registrada com fonte, tamanho e posição na página. Como o arquivo sabe quais caracteres estão ali, os leitores podem pesquisá-los, selecioná-los, copiá-los e entregá-los às tecnologias assistivas. Um scanner ou a câmera de um celular funcionam de outro jeito. Eles registram uma imagem da página, uma grade de pixels coloridos que não faz ideia de que alguns desses pixels formam a palavra “fatura”. O resultado pode parecer perfeitamente nítido sem conter texto nenhum. Muitos documentos reais misturam os dois tipos de página: um contrato gerado digitalmente com uma página de assinaturas digitalizada anexada, ou um relatório com apêndices fotografados. É por isso que a busca às vezes encontra uma palavra na página 3, mas não na 12, mesmo que dê para lê-la claramente nas duas.
Como conferir um PDF em dez segundos
O teste mais rápido é tentar selecionar uma palavra. Se as palavras forem destacadas enquanto você arrasta, a página tem camada de texto. Se, em vez disso, o cursor desenhar um retângulo sobre a página, você está vendo uma imagem. Um segundo teste é pesquisar uma palavra que você está vendo; nenhum resultado para uma palavra visível significa que aquela página não tem texto aproveitável. Dar zoom é uma terceira pista útil: texto de verdade continua nítido em qualquer ampliação, enquanto o texto de uma imagem fica borrado e pixelado. Em documentos mistos, confira algumas páginas, e não só a primeira. Se quiser ver exatamente que texto um PDF contém, PDF para TXT extrai esse texto; um arquivo que volta vazio, ou vazio em certas páginas, está mostrando onde falta a camada de texto.
O que o OCR faz de verdade
O reconhecimento óptico de caracteres transforma imagens de texto de volta em caracteres. O programa encontra as linhas de texto na página, separa em palavras e letras e compara as formas que vê com um modelo treinado de um idioma, escolhendo os caracteres e palavras mais prováveis. O resultado não é só uma sequência de texto, mas texto com posições, então cada palavra reconhecida pode ser colocada exatamente sobre a sua imagem. OCR PDF usa o motor Tesseract. Cada página é desenhada a cerca de 250 DPI e reconhecida, e o texto reconhecido é colocado de forma invisível sobre a página original, que mantém a própria imagem. Esse arranjo costuma ser chamado de PDF sanduíche. Quando você pesquisa, o leitor encontra a palavra oculta e destaca o ponto em que aparece a palavra visível, então a página parece a mesma, mas se comporta como um documento digital.
Por que a configuração de idioma importa
Os motores de OCR não reconhecem letras isoladamente. Eles se apoiam em modelos de idioma que sabem quais caracteres existem, como se combinam e quais palavras são prováveis. Escolher o idioma certo melhora muito a precisão: um modelo de inglês lendo uma carta em francês vai estragar os caracteres acentuados e ler errado as palavras que não espera, e um modelo de escrita latina não consegue ler árabe nem urdu, porque essas escritas usam outros caracteres e são escritas da direita para a esquerda. O VelloDoc oferece 39 idiomas, entre eles árabe, hebraico, hindi, chinês, japonês e coreano, e cada um precisa dos dados do idioma instalados no servidor. Em documentos que misturam idiomas, escolha o principal e adicione o outro como segundo idioma. Se um idioma não estiver instalado, a ferramenta avisa, em vez de devolver um PDF sem uma camada de texto aproveitável.
Tendo resultados precisos com digitalizações
A maioria dos erros de OCR é decidida na captura da página, não no reconhecimento. A resolução importa: como regra geral, digitalizar texto impresso comum a cerca de 300 DPI dá detalhes suficientes para o reconhecimento, e letras muito pequenas se beneficiam de mais. O contraste também importa, então texto escuro em papel branco e limpo é reconhecido muito melhor do que texto apagado em fundo cinza ou estampado. Linhas retas importam porque o reconhecimento espera fileiras de texto niveladas; Endireitar PDF corrige pequenas inclinações antes do reconhecimento. Páginas em branco só acrescentam tempo de processamento, e Remover páginas em branco tira essas páginas. Sombras, páginas curvadas perto da lombada de um livro e reflexos de papel brilhante são os problemas mais comuns em digitalizações com o celular; o guia para digitalizar melhor com o celular explica como evitá-los.
Conferindo e corrigindo o texto reconhecido
Até um bom OCR comete erros, e esses erros seguem padrões. Caracteres parecidos são confundidos: as letras r e n lado a lado podem virar m, o dígito 0 e a letra O trocam de lugar, e 1, l e I se misturam com facilidade. O texto de tabelas pode sair em uma ordem inesperada, e páginas com várias colunas podem ser lidas atravessando as colunas, em vez de coluna por coluna. Nomes, números de referência, datas e valores merecem a maior atenção, porque um único dígito errado muda o sentido e ainda parece plausível. Uma conferência prática é pesquisar no resultado do OCR várias palavras e números que você vê na página. Em documentos em que a redação exata importa, como registros jurídicos ou financeiros, trate o texto reconhecido como uma facilidade para buscar e confie sempre na própria imagem da página como versão de referência.
Pesquisável não é o mesmo que acessível
A camada de texto é um grande avanço para a acessibilidade, porque os leitores de tela finalmente conseguem ler em voz alta as palavras de uma página digitalizada. Um PDF totalmente acessível, porém, precisa de mais. Documentos acessíveis têm tags que descrevem a estrutura, como qual texto é um título, qual é uma lista e qual imagem precisa de descrição, e definem uma ordem de leitura para que as tecnologias assistivas apresentem o conteúdo em uma sequência lógica. O OCR não adiciona essas tags. O padrão PDF/UA descreve o que a acessibilidade completa exige. Quando você precisa de um conteúdo fácil de ler para todos, inclusive no celular, converter o PDF pesquisável em uma página web com PDF para HTML é outro caminho prático, porque o texto em HTML se ajusta à tela e funciona naturalmente com os recursos de acessibilidade do navegador.
Quando o OCR não é a ferramenta certa
O OCR serve para páginas que são imagens. O VelloDoc deixa como estão as páginas que já têm texto, então rodá-lo em um PDF digital simplesmente devolve o arquivo sem mudanças. Há uma exceção importante: alguns PDFs digitais têm texto que parece normal, mas sai sem sentido quando copiado, porque o arquivo guarda os caracteres sem a informação de quais letras eles representam. O OCR resolve isso lendo a página visível. Se você tem o documento original, exportar um novo PDF a partir dele é sempre melhor do que reconhecer uma digitalização. Para arquivos de longo prazo, uma ordem sensata é digitalizar, limpar, rodar o OCR e depois converter o resultado com PDF para PDF/A, para que o documento pesquisável continue legível por anos. O guia de ferramentas de otimização mostra como essas etapas se encaixam. Para documentos em escrita árabe, veja os guias de OCR para PDFs em árabe e de OCR para PDFs em urdu.
Perguntas
Por que eu vejo o texto, mas não consigo pesquisá-lo?
A página é uma imagem do texto, e não o texto em si, algo típico de digitalizações e fotos do celular. Rode o OCR PDF para adicionar uma camada de texto pesquisável.
O OCR muda a aparência do meu PDF?
Não. O VelloDoc mantém cada página como estava e coloca por cima as palavras reconhecidas como texto invisível.
O OCR consegue ler letra de mão?
Em geral, não de forma confiável. O Tesseract foi feito para texto impresso; letras de forma bem desenhadas às vezes são reconhecidas, mas letra cursiva normalmente não.
O texto do OCR é preciso o bastante para documentos jurídicos?
Use-o para encontrar e navegar pelos documentos, mas confira nomes, números e datas na imagem da página. A imagem continua sendo o registro de referência.
Devo rodar o OCR em um PDF que já é pesquisável?
Não, a menos que o texto dele saia embaralhado ao ser copiado. O OCR em um PDF digital troca o texto de verdade por uma imagem e uma camada de texto oculta.