OCR-Lain é uma ferramenta de linha de comando para extrair texto de imagens e documentos utilizando OCR.
A ferramenta processa arquivos locais, aplica extração de texto nativa quando possível e utiliza OCR quando o conteúdo está em formato visual, como imagens, páginas escaneadas ou imagens incorporadas em documentos.
- Formatos suportados
- Requisitos
- Instalação do Tesseract OCR
- Instalação do projeto
- Verificando a instalação
- Uso básico
- Exemplos de uso
- Saída dos arquivos
- Opções disponíveis
- Modo explícito
- Exemplos avançados
- Estrutura de saída
- Problemas comuns
- Comandos principais
- Licença
| Formato | Suporte |
|---|---|
.png, .jpg, .jpeg |
OCR de imagem |
.webp, .bmp, .tiff, .tif |
OCR de imagem |
.pdf |
Extração de texto nativo e OCR em páginas escaneadas |
.docx |
Extração de parágrafos, tabelas e OCR de imagens internas |
.pptx |
Extração de texto dos slides, tabelas e OCR de imagens internas |
Antes de instalar o projeto, certifique-se de possuir:
- Python 3.10 ou superior
- Tesseract OCR instalado no sistema
- Git, caso queira clonar o repositório
O OCR-Lain utiliza o Tesseract como mecanismo de OCR. Por isso, além das dependências Python, é necessário instalar o Tesseract no sistema operacional.
Após instalar o Tesseract, verifique se o comando está disponível no terminal:
tesseract --versionCaso o comando não seja reconhecido, adicione o diretório de instalação do Tesseract ao PATH do Windows.
O caminho padrão costuma ser:
C:\Program Files\Tesseract-OCR
Para verificar os idiomas disponíveis:
tesseract --list-langsPara utilizar OCR em português, o idioma por precisa aparecer na lista:
eng
osd
por
Clone o repositório:
git clone https://github.com/MagyoDev/OCR-Lain.git
cd OCR-LainCrie um ambiente virtual:
python -m venv .venvAtive o ambiente virtual.
.venv\Scripts\Activate.ps1Caso o PowerShell bloqueie a ativação do ambiente virtual, execute:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSignedDepois tente ativar novamente:
.venv\Scripts\Activate.ps1source .venv/bin/activateInstale as dependências:
python -m pip install -r requirements.txt
python -m pip install -e .Exibir a versão instalada:
ocr-lain versionListar os formatos suportados:
ocr-lain formatsProcessar um arquivo:
ocr-lain caminho/do/arquivoExemplo no Windows:
ocr-lain .\samples\documento.pdfPor padrão, os resultados são salvos na pasta:
outputs/
ocr-lain .\samples\imagem.pngocr-lain .\samples\documento.pdfocr-lain .\samples\documento.docxocr-lain .\samples\apresentacao.pptxocr-lain .\samplesAo receber uma pasta, o OCR-Lain procura automaticamente por arquivos suportados.
Por padrão, o OCR-Lain gera uma saída em Markdown:
outputs/documento.pdf.ocr.md
Também é possível gerar uma saída adicional em JSON:
ocr-lain .\samples\documento.pdf --jsonNesse caso, serão gerados arquivos como:
outputs/documento.pdf.ocr.md
outputs/documento.pdf.ocr.json
Use -o ou --output:
ocr-lain .\samples\documento.pdf -o resultadosOu:
ocr-lain .\samples\documento.pdf --output resultadosocr-lain .\samples\documento.pdf --jsonPortuguês e inglês:
ocr-lain .\samples\imagem.png --lang por+engSomente português:
ocr-lain .\samples\imagem.png --lang porSomente inglês:
ocr-lain .\samples\imagem.png --lang engO parâmetro --dpi controla a qualidade usada ao transformar páginas de PDF em imagem para OCR.
ocr-lain .\samples\documento.pdf --dpi 300Valores maiores podem melhorar o OCR em PDFs escaneados, mas também aumentam o tempo de processamento.
Caso o PDF já possua texto selecionável, é possível evitar OCR nas páginas:
ocr-lain .\samples\documento.pdf --no-pdf-ocrPara arquivos .docx e .pptx, é possível desativar o OCR em imagens internas:
ocr-lain .\samples\documento.docx --no-embedded-imagesocr-lain .\samples\apresentacao.pptx --no-embedded-imagesAlém do modo simples:
ocr-lain .\samples\documento.pdfTambém é possível utilizar o comando explícito run:
ocr-lain run .\samples\documento.pdfOs dois comandos executam o mesmo processamento.
ocr-lain .\samples\apostila.pdf --jsonocr-lain .\samples\scan.pdf --dpi 300 --jsonocr-lain .\samples\aula.pptx --no-embedded-imagesocr-lain .\samples --jsonocr-lain .\samples\documento.pdf -o resultados --jsonExemplo de arquivo Markdown gerado:
outputs/documento.pdf.ocr.md
Exemplo de arquivo JSON gerado:
outputs/documento.pdf.ocr.json
O Markdown é indicado para leitura humana.
O JSON é indicado para automações, integrações, APIs ou uso futuro em pipelines de IA.
Execute novamente a instalação das dependências:
python -m pip install -r requirements.txt
python -m pip install -e .Execute novamente a instalação das dependências:
python -m pip install -r requirements.txt
python -m pip install -e .Verifique se o Tesseract está instalado:
tesseract --versionSe o comando não funcionar, adicione o diretório do Tesseract ao PATH do sistema.
Verifique os idiomas instalados:
tesseract --list-langsCaso por não apareça, instale o pacote de idioma português do Tesseract.
ocr-lain versionocr-lain formatsocr-lain arquivo.pdfocr-lain arquivo.pdf --jsonocr-lain pasta/ --jsonocr-lain arquivo.pdf -o resultadosEste projeto está licenciado sob a licença MIT.