OCR de um PDF digitalizado

Extraia o texto de um PDF digitalizado e salve como .txt, ou receba o mesmo PDF com uma camada de texto invisível e pesquisável. Tudo no navegador.

pdf

OCR de PDF escaneado

PDF escaneado a ler

Solte um arquivo aqui ou clique para escolher

O mesmo escaneamento, idêntico à vista, com as palavras reconhecidas escritas por cima de forma invisível para que Ctrl+F e a seleção de texto funcionem.

Roda totalmente no seu navegador. Seus dados nunca saem do seu dispositivo.

What next?

How it works

Primeiro, trabalhe se você precisa de OCR em tudo

Um PDF consegue manter texto de duas formas completamente diferentes, e parecem idênticas na tela.

Um PDF digital — qualquer coisa exportada do Word, um navegador, LaTeX ou uma ferramenta de design — armazena os próprios caracteres. Abra-o e tente selecionar uma frase: se o cursor destaca palavras, o texto já está lá. Você não precisa de OCR, e executá-lo seria um desperdício de vários minutos. Copie o texto, ou use uma ferramenta de PDF para texto.

Um PDF digitalizado armazena uma fotografia de uma página. Selecionar uma frase destaca nada, ou destaca um retângulo cobrindo toda a imagem de página. Pesquisar encontra nada. É para isso que OCR é: ler as formas na imagem e descobrir quais caracteres elas são.

Documentos mistos existem e são comuns — um contrato digital com uma página de assinatura digitalizada anexada, por exemplo. Executar OCR sobre tudo é inofensivo mas lento; o campo de intervalo de páginas permite fazer apenas as páginas digitalizadas.

Qualidade de varredura decide a maior parte do resultado

Reconhecimento óptico de caracteres é correspondência de padrão sobre pixels. Nada a jusante consegue recuperar detalhe que a varredura nunca capturou, então a qualidade da origem domina tudo mais que você consegue controlar.

Resolução. A figura útil não é o DPI do arquivo mas a altura de uma letra minúscula em pixels. Abaixo aproximadamente 20 pixels, reconhecimento degrada mal; ao redor de 30 a 40 pixels é confortável. Tipo de corpo ordinário de 10 pontos chega a isso em cerca de 200–300 DPI. Uma varredura de 600 DPI da mesma página é quatro vezes os dados para nenhum ganho em precisão.

Retidão. Uma página alimentada torta em um scanner, ou fotografada em um ângulo, é muito mais difícil do que uma quadrada. Tesseract tolera um grau ou dois e luta além disso. Esta ferramenta não desinclinação: endireitamento automático precisa de uma estimativa de ângulo, e uma estimativa errada piora as coisas silenciosamente, que é um compromisso ruim para uma ferramenta que você não consegue inspecionar. Se suas páginas estão visivelmente tortas, re-digitalizar elas em linha reta vale mais do que qualquer configuração.

Contraste e uniformidade. Texto cinzento em fundo cinzento, um flash de telefone explodindo o meio de uma página brilhante, uma sombra da própria cabeça do fotógrafo — cada uma dessas remove linhas inteiras. Um scanner de vidro plano ou um aplicativo de telefone de scanning de documento bate uma fotografia casual por uma margem ampla.

Compressão. Uma varredura já salva como JPEG pequeno carrega artefatos de toque em volta de cada letra. Eles são invisíveis à primeira vista e muito visíveis para um classificador de caracteres.

Layout. Texto de corpo de coluna única simples é o caso fácil. Tabelas densas, layouts multicolunares com sarjetas estreitas, texto impresso sobre fotografias, e faces de exibição estilizadas são todos consideravelmente mais difíceis. Escrita à mão não funciona em tudo — os modelos do Tesseract são treinados em tipo impresso, e cursiva produz lixo confiante.

Por que a ferramenta renderiza cada página a 200 DPI

Antes do reconhecimento cada página tem que se tornar pixels, então a ferramenta a rasteriza com pdf.js. A escala que usa é 200 DPI, e ambas as direções de lá são piores.

Mais baixa, e letras caem sob a altura de pixel que os modelos precisam. Mais alta, e você está ampliando uma fotografia: se a varredura incorporada é 200 DPI, renderizar a página em 400 não inventa nenhum novo detalhe, só quadruplica o trabalho. Já que um PDF digitalizado é geralmente 200–300 DPI para começar, 200 é onde a precisão para de melhorar e o custo continua subindo.

Dois ajustes acontecem automaticamente. As páginas são convertidas em escala de cinza, que aproximadamente reduz o tempo de reconhecimento pela metade e não perde nada — Tesseract descarta cor internamente de qualquer forma. E uma página grande o suficiente para exceder o que os navegadores alocarão para um canvas (um plano A0 a 200 DPI seria cerca de 119 megapixels) é renderizado em uma escala reduzida em vez de falhar; as posições das palavras são mapeadas de volta através do tamanho real da imagem, então a camada pesquisável permanece correta.

Por que os modelos de idioma aqui são os "rápidos"

Tesseract publica seus modelos treinados em três conjuntos. tessdata_best é o mais preciso e o maior. tessdata é o meio. tessdata_fast é quantizado inteiro para velocidade e tamanho.

Este site envia fast, e a razão é aritmética em vez de preferência. Inglês em fast é cerca de 4 MB; em best é aproximadamente quatro vezes isso. Todo visitante que pressiona o botão o baixa. A diferença de precisão é real mas pequena — na ordem de dois a três por cento dos caracteres, concentrado nas varreduras difíceis onde a saída precisa de correção de qualquer forma. Pagar 15 MB por visitante para isso em cada idioma seria a configuração padrão errada, então não é. É também um teto genuíno no que esta ferramenta consegue fazer, que é por que está escrito aqui em vez de deixado para você descobrir.

Quatro idiomas estão disponíveis — inglês, vietnamita, espanhol e português — porque esses quatro arquivos de modelo são enviados com o site. Tesseract suporta mais de cem, mas cada um adicional teria que ser buscado de um CDN de terceiros no momento que você o selecionasse, que vazaria o fato de que você está lendo um documento naquele idioma. Essa é a solicitação que esta ferramenta existe para evitar, então a lista para no que consegue ser servido daqui.

O que "PDF pesquisável" realmente significa

Essa é a opção que a maioria das pessoas está procurando, e o nome está fazendo muito trabalho.

A ferramenta carrega seu arquivo original com pdf-lib e, para cada palavra que o reconhecedor localizou, desenha essa palavra com opacidade zero no lugar na página onde a tinta está. A varredura abaixo é intacta: não rerenderizada, não re-comprimida, não convertida. O que você recupera parece pixel-por-pixel como o que você colocou, mas Ctrl+F encontra palavras, seleção de texto funciona, e qualquer coisa que indexe PDFs — Spotlight, Windows Search, um sistema de gerenciamento de documentos — consegue lê-lo.

Três detalhes valem a pena saber:

  • Posição vem do reconhecedor, não de adivinhação. Cada caixa de palavra está em pixels da imagem renderizada, origem no canto superior esquerdo; coordenadas de PDF são pontos, origem no inferior esquerdo; e uma página pode carregar uma flag /Rotate que o leitor aplica mas a camada de desenho não. Todas as três conversões acontecem por página, usando a largura real da imagem renderizada em vez de um DPI assumido.
  • Palavras de baixa confiança são deixadas de fora. Abaixo de 30% de confiança, saída é geralmente speckles lidos como pontuação, e incluir faz seleção de linha copiar lixo entre as palavras reais.
  • A camada é apenas tão boa quanto a OCR. Uma palavra lida errado é pesquisável sob a ortografia errada. Texto invisível esconde seus próprios erros, que é uma razão para verificar a saída .txt em uma página ou duas antes de confiar em um grande lote.

Para inglês, espanhol e português o texto invisível usa Helvetica, uma das fontes que cada leitor de PDF já tem, então o arquivo cresce por dezenas de kilobytes. O vietnamita precisa de uma fonte Unicode incorporada — o conjunto de caracteres de Helvetica não consegue soletrar — então um arquivo Noto Sans de 421 KB é buscado deste site e subconjunto até apenas os glifos usados.

O que o primeiro run baixa, e para onde vai

Abrir a página não baixa nenhuma maquinaria de OCR. Pressione Reconhecer texto e três coisas chegam, todas desta origem:

O queTamanhoArmazenado em cache depois
Script worker~110 KBCache HTTP normal
Mecanismo WebAssembly~3,8 MBCache HTTP normal
Dados de idioma0,5–4 MBIndexedDB, em seu navegador

O arquivo de idioma é escrito no IndexedDB do seu navegador por tesseract.js, que é por que o segundo documento no mesmo idioma começa a reconhecer imediatamente. É seu próprio armazenamento; limpar dados do site remove-o e o próximo run o busca novamente. Nada é enviado em qualquer lugar — o único tráfego de rede são esses downloads do site que você já está em.

Uma ordem de operações que funciona

  1. Tente selecionar texto em seu PDF primeiro. Se seleciona, você não precisa desta ferramenta.
  2. Escolha o idioma do documento, não seu próprio idioma.
  3. Execute uma página — coloque 1 no intervalo de páginas — e leia a saída. Trinta segundos aqui lhe diz se a varredura é boa o suficiente antes de você gastar dez minutos em 200 páginas.
  4. Se confiança está sob cerca de 70%, corrija a entrada em vez das configurações: digitalize novamente em linha reta, em 300 DPI, em escala de cinza.
  5. Decida o que você realmente quer. .txt se o texto vai ser editado ou reutilizado; PDF pesquisável se o documento tem que permanecer um documento e apenas precisa ser encontrável.
  6. Para trabalhos longos, use o intervalo de páginas para trabalhar em lotes. Parar abandona o run se você mudar de ideia — não entrega as páginas lidas até agora, que é exatamente por que lotes valem o incômodo.

FAQ

Meu documento é enviado para algum lugar?

Não. Cada página é renderizada para um canvas por pdf.js, reconhecida por Tesseract compilado para WebAssembly, e — se você pedir um PDF pesquisável — remontada por pdf-lib. Todos os três são executados dentro desta aba do navegador. Nada sobre o documento chega a um servidor, então não há cópia armazenada para ser retida, registrada ou excluída.

Essa é a razão inteira pela qual a ferramenta existe nessa forma. Todo outro serviço de "OCR PDF" gratuito publica seu arquivo em uma máquina que você não controla, e PDFs digitalizados são sobretudo os documentos que menos gostaria de entregar: contratos, registros médicos, extratos bancários, títulos de propriedade, ações judiciais. Você pode verificar: abra a aba Rede, execute a ferramenta, e depois que o arquivo de idioma carrega você não verá nenhuma solicitação transportando o PDF.

O que é um "PDF pesquisável" e o que essa opção realmente muda?

É a mesma varredura, visualmente inalterada, com as palavras reconhecidas escritas sobre a imagem em texto invisível. Seu leitor pode então encontrar, selecionar e copiar palavras que existem apenas no documento como pixels.

Nada é redesenhado ou re-comprimido. A ferramenta carrega seu arquivo original, e para cada palavra que Tesseract encontrou ela desenha essa palavra com opacidade zero, posicionada sobre o lugar na página onde a tinta está. A varredura que você vê depois é byte-idêntica em aparência; apenas uma camada de texto foi adicionada. Isso significa que o arquivo cresce por algumas dezenas de kilobytes em vez de ser re-codificado — e também significa que a qualidade da imagem é exatamente o que você começou, para melhor ou pior.

Se você deixar a opção desligada você recebe .txt simples com um marcador --- Página n --- antes de cada página, que é a melhor saída quando você pretende editar ou reutilizar o texto em vez de manter a varredura.

Por que demora tanto, e posso parar?

Reconhecimento é genuinamente caro: aproximadamente um a cinco segundos por página em um laptop moderno, mais em um telefone, mais um custo inicial único na primeira vez. Uma varredura de cinquenta páginas é alguns minutos de trabalho real, e é sua própria CPU fazendo — um serviço do lado do servidor parece mais rápido porque o trabalho acontece na máquina de outra pessoa.

Há um botão Parar. Ele encerra a execução: a página sendo lida é abandonada, o mecanismo de reconhecimento é desligado, e o loop não avança para a próxima página. O que não faz é entregar as páginas que já havia terminado — uma execução interrompida não produz texto em tudo, e o botão fica em seu estado "parando" até que a execução realmente se desfaça, que é normalmente uma fração de segundo.

Então se você quer apenas parte de um documento, use o campo de intervalo de páginas em vez de Parar: ler páginas 12–14 de uma varredura de 200 páginas leva segundos e lhe dá essas três páginas.

O que é baixado na primeira vez?

Nada até você pressionar Reconhecer texto. Então, deste site e nunca de um CDN: o script worker (~110 KB), o mecanismo WebAssembly (~3,8 MB), e os dados de idioma (0,5–4 MB dependendo do idioma). O arquivo de idioma é armazenado em cache no IndexedDB do seu navegador, então o segundo documento no mesmo idioma não baixa nada. Escolher a opção PDF pesquisável em vietnamita adicionalmente busca um arquivo Noto Sans de 421 KB, porque as fontes de PDF incorporadas não conseguem soletrar vietnamita; os outros três idiomas usam uma fonte que cada leitor de PDF já tem.

Por que 200 DPI, e a resolução importa?

Cada página é renderizada a 200 pontos por polegada antes do reconhecimento. Os modelos do Tesseract foram treinados em material ao redor de 300 DPI para tipo de corpo ordinário, e abaixo de cerca de 150 DPI a precisão cai rapidamente. Renderizar acima da resolução da varredura original adiciona pixels mas nenhuma informação, então só torna o reconhecimento mais lento — 200 é onde a curva se achata para os documentos que esta ferramenta vê.

O que importa é a varredura com a qual você começou. Uma varredura em escala de cinza de 150 DPI de uma página impressa limpa sairá muito bem. Uma fotografia de uma página tirada em um ângulo, um fax, ou uma varredura que alguém já comprimiu para um JPEG pequeno sairá notavelmente pior, e nenhuma configuração aqui consegue recuperar informação que a varredura não capturou. As páginas são convertidas em escala de cinza antes do reconhecimento, que é aproximadamente duas vezes mais rápido e não menos preciso, já que Tesseract descarta cor internamente de qualquer forma.

Por que algumas palavras desaparecem da camada pesquisável?

Dois motivos, ambos relatados em vez de ocultos. Palavras que o reconhecedor tinha menos de 30% de confiança são deixadas de fora por propósito: nesse nível são geralmente speckles lidos como pontuação, e incluí-las faz seleção de linha copiar lixo.

O outro motivo é a fonte. Para inglês, espanhol e português a camada invisível é desenhada em Helvetica, cujo conjunto de caracteres é aproximadamente Latin-1. O vietnamita usa um Noto Sans incorporado em vez disso, que cobre cerca de três mil pontos de código — o alfabeto latino com cada marca de tom vietnamita, grego, cirílico e pontuação comum. De qualquer forma, uma palavra contendo um caractere que a fonte não tem um glifo para é deixada de fora e contada, e a contagem aparece acima do texto. Os caracteres que caem fora de ambos são raros na prática e geralmente leituras erradas para começar: CJK, setas e linhas de caixa que OCR extraiu de um carimbo ou uma borda de tabela. A saída .txt não tem tal limite — ela contém cada palavra independentemente da fonte.

E se o PDF pesquisável não conseguir ser construído?

Você ainda recebe o texto. A ferramenta verifica seu original antes de começar a ler — um arquivo com permissões ou uma senha nele pode ser exibido mas não consegue ter uma camada de texto escrita nele, e isso é recusado com antecedência em vez de depois de vários minutos de reconhecimento. Se algo der errado mais tarde, na etapa de montagem, o texto reconhecido e o download .txt permanecem na página e uma mensagem explica por que o PDF está faltando.

Um original protegido por senha é o caso comum. Remova a proteção primeiro, ou desative a opção PDF pesquisável e pegue o texto por sua conta.

Qual é a precisão?

Os arquivos de idioma são modelos tessdata_fast do Tesseract — quantizados para velocidade e tamanho. Em uma página impressa limpa espere as altas noventa por cento dos caracteres; a ferramenta relata uma confiança média por página então você consegue ver quais páginas são fracas. tessdata_best seria cerca de dois a três por cento melhor e quatro vezes o download, que não é um compromisso que vale a pena fazer para cada visitante. Escrita à mão não funciona em tudo, e tabelas densas, layouts multicolunares com sarjetas estreitas, e texto impresso sobre imagens são todos substancialmente piores do que texto de corpo simples.

More pdf tools