Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OCR-Lain

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.


Sumário


Formatos suportados

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

Requisitos

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

Instalação do Tesseract OCR

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.

Windows

Após instalar o Tesseract, verifique se o comando está disponível no terminal:

tesseract --version

Caso 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-langs

Para utilizar OCR em português, o idioma por precisa aparecer na lista:

eng
osd
por

Instalação do projeto

Clone o repositório:

git clone https://github.com/MagyoDev/OCR-Lain.git
cd OCR-Lain

Crie um ambiente virtual:

python -m venv .venv

Ative o ambiente virtual.

Windows PowerShell

.venv\Scripts\Activate.ps1

Caso o PowerShell bloqueie a ativação do ambiente virtual, execute:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

Depois tente ativar novamente:

.venv\Scripts\Activate.ps1

Linux/macOS

source .venv/bin/activate

Instale as dependências:

python -m pip install -r requirements.txt
python -m pip install -e .

Verificando a instalação

Exibir a versão instalada:

ocr-lain version

Listar os formatos suportados:

ocr-lain formats

Uso básico

Processar um arquivo:

ocr-lain caminho/do/arquivo

Exemplo no Windows:

ocr-lain .\samples\documento.pdf

Por padrão, os resultados são salvos na pasta:

outputs/

Exemplos de uso

Processar uma imagem

ocr-lain .\samples\imagem.png

Processar um PDF

ocr-lain .\samples\documento.pdf

Processar um documento Word

ocr-lain .\samples\documento.docx

Processar uma apresentação PowerPoint

ocr-lain .\samples\apresentacao.pptx

Processar uma pasta inteira

ocr-lain .\samples

Ao receber uma pasta, o OCR-Lain procura automaticamente por arquivos suportados.


Saída dos arquivos

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 --json

Nesse caso, serão gerados arquivos como:

outputs/documento.pdf.ocr.md
outputs/documento.pdf.ocr.json

Opções disponíveis

Definir pasta de saída

Use -o ou --output:

ocr-lain .\samples\documento.pdf -o resultados

Ou:

ocr-lain .\samples\documento.pdf --output resultados

Exportar em JSON

ocr-lain .\samples\documento.pdf --json

Alterar idioma do OCR

Português e inglês:

ocr-lain .\samples\imagem.png --lang por+eng

Somente português:

ocr-lain .\samples\imagem.png --lang por

Somente inglês:

ocr-lain .\samples\imagem.png --lang eng

Alterar DPI para PDFs

O parâmetro --dpi controla a qualidade usada ao transformar páginas de PDF em imagem para OCR.

ocr-lain .\samples\documento.pdf --dpi 300

Valores maiores podem melhorar o OCR em PDFs escaneados, mas também aumentam o tempo de processamento.


Desativar OCR em PDFs

Caso o PDF já possua texto selecionável, é possível evitar OCR nas páginas:

ocr-lain .\samples\documento.pdf --no-pdf-ocr

Desativar OCR em imagens internas

Para arquivos .docx e .pptx, é possível desativar o OCR em imagens internas:

ocr-lain .\samples\documento.docx --no-embedded-images
ocr-lain .\samples\apresentacao.pptx --no-embedded-images

Modo explícito

Além do modo simples:

ocr-lain .\samples\documento.pdf

Também é possível utilizar o comando explícito run:

ocr-lain run .\samples\documento.pdf

Os dois comandos executam o mesmo processamento.


Exemplos avançados

PDF com saída em Markdown e JSON

ocr-lain .\samples\apostila.pdf --json

PDF escaneado com DPI maior

ocr-lain .\samples\scan.pdf --dpi 300 --json

PowerPoint sem OCR nas imagens internas

ocr-lain .\samples\aula.pptx --no-embedded-images

Pasta inteira com exportação em JSON

ocr-lain .\samples --json

Definir pasta de saída personalizada

ocr-lain .\samples\documento.pdf -o resultados --json

Estrutura de saída

Exemplo 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.


Problemas comuns

ModuleNotFoundError: No module named 'docx'

Execute novamente a instalação das dependências:

python -m pip install -r requirements.txt
python -m pip install -e .

ModuleNotFoundError: No module named 'pptx'

Execute novamente a instalação das dependências:

python -m pip install -r requirements.txt
python -m pip install -e .

tesseract is not installed or it's not in your PATH

Verifique se o Tesseract está instalado:

tesseract --version

Se o comando não funcionar, adicione o diretório do Tesseract ao PATH do sistema.


O idioma português não aparece

Verifique os idiomas instalados:

tesseract --list-langs

Caso por não apareça, instale o pacote de idioma português do Tesseract.


Comandos principais

ocr-lain version
ocr-lain formats
ocr-lain arquivo.pdf
ocr-lain arquivo.pdf --json
ocr-lain pasta/ --json
ocr-lain arquivo.pdf -o resultados

Licença

Este projeto está licenciado sob a licença MIT.

About

Ferramenta CLI em Python para extrair texto de imagens, PDFs, DOCX e PPTX usando OCR, com saída em Markdown e JSON.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages