Buscar

Ferramentas

Tesseract.js

Biblioteca JavaScript de OCR que extrai texto de imagens em mais de 100 idiomas, no navegador ou no Node.js, sem enviar o arquivo a outro serviço.

  • Inteligência Artificial
  • Desenvolvimento
Tesseract.js

Tesseract.js põe o motor de OCR Tesseract dentro do JavaScript, compilado para WebAssembly. Com ele, uma página web ou um script em Node.js lê o texto de uma imagem sem mandar o arquivo para uma API externa. O projeto reconhece mais de 100 idiomas.

Para que serve

  • Ler o texto de fotos e capturas de tela no navegador do próprio usuário.
  • Extrair dados de recibos e documentos digitalizados num backend Node.js.
  • Adicionar busca por texto a um acervo de imagens escaneadas.
  • Testar OCR num protótipo com uma tag de script carregada de CDN, sem build.

Como começar

No Node.js, a instalação é pelo npm (a versão 7 pede Node 16 ou mais novo):

npm install tesseract.js

No navegador, o README mostra o carregamento por CDN com uma tag <script>, além de builds para webpack e ESM. O exemplo mínimo cria um worker, reconhece uma imagem em inglês e imprime o texto:

import { createWorker } from 'tesseract.js';

(async () => {
  const worker = await createWorker('eng');
  const ret = await worker.recognize('https://tesseract.projectnaptha.com/img/eng_bw.png');
  console.log(ret.data.text);
  await worker.terminate();
})();

O README admite duas limitações: a biblioteca não abre PDF e não altera o modelo de reconhecimento do Tesseract para ganhar precisão. Para essas duas necessidades, os autores indicam o Scribe.js.

Licença e custo

Com a Apache 2.0, o Tesseract.js entra em software aberto ou fechado, alterado ou como veio. Em troca, o pacote redistribuído leva a licença e os avisos originais, e os arquivos alterados ficam identificados. O uso é gratuito, e o projeto aceita doações pelo OpenCollective.

Quando vale a pena

O ponto forte é a privacidade: num app web, o OCR roda no aparelho de quem usa, e a imagem não sai dali. Quem trabalha com PDFs escaneados vai precisar converter as páginas em imagem antes, ou escolher o OCRmyPDF, que trata o PDF direto. Se a saída precisa vir em Markdown ou JSON, o PaddleOCR atende, fora do JavaScript. Para saber o que esperar da tecnologia, leia OCR: o que é e como transformar PDF e imagem em texto.