Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dheiver2/PDF2SheetBot

Open more actions menu

Repository files navigation

📄 PDF2SheetBot ➡️ 📊

Bot do Telegram que extrai tabelas de PDFs com OCR via IA e devolve planilhas Excel perfeitas.

Python Telegram Gemini License


Demonstração

Usuário envia PDF ──► Bot processa com IA ──► Retorna .xlsx formatado
  1. Envie um PDF com tabelas para o bot no Telegram
  2. A IA analisa o documento com OCR avançado
  3. Receba um arquivo Excel com formatação profissional

Funcionalidades

Feature Descrição
OCR Avançado Extrai tabelas mesmo de PDFs escaneados/imagens
Multi-tabela Detecta e separa múltiplas tabelas em abas diferentes
Multi-página Unifica tabelas que se estendem por várias páginas
Tipagem Inteligente Detecta moedas, percentuais, datas e números automaticamente
Formatação Pro Cabeçalhos congelados, filtros, zebra striping, largura auto
Rate Limiting Proteção contra uso excessivo
Error Handling Mensagens de erro claras e logging completo

Arquitetura

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   Telegram   │────►│   Bot.py     │────►│  Gemini AI   │────►│  Sheets.py   │
│   (usuário)  │◄────│  (handlers)  │◄────│  (OCR/NLP)   │◄────│  (Excel gen) │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘

Quick Start

Pré-requisitos

  • Python 3.11 — 3.13 (3.14 não suportado ainda)
  • Token do Telegram Bot — criado via @BotFather
  • Google Gemini API Key — obtenha em AI Studio

Instalação

# 1. Clone o repositório
git clone https://github.com/seu-usuario/PDF2SheetBot.git
cd PDF2SheetBot

# 2. Crie o ambiente virtual
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # Linux/Mac

# 3. Instale dependências
pip install -r requirements.txt

# 4. Configure as variáveis de ambiente
copy .env.example .env
# Edite .env com seus tokens

Configuração

Edite o arquivo .env:

TELEGRAM_BOT_TOKEN=seu_token_do_botfather
GEMINI_API_KEY=sua_chave_do_google_ai_studio

Executar

python main.py

Docker (Alternativa)

# Build e executa com Docker Compose
docker compose up -d

# Ver logs
docker compose logs -f

Estrutura do Projeto

PDF2SheetBot/
├── main.py                 # Entry point com validação de env
├── pyproject.toml           # Metadados do projeto e config do linter
├── requirements.txt         # Dependências Python (pinned)
├── Dockerfile               # Container image
├── docker-compose.yml       # Orquestração
├── LICENSE                  # MIT License
├── .env.example             # Template de variáveis
├── .gitignore               # Exclusões do Git
└── src/
    ├── __init__.py
    ├── config.py            # Configurações + prompt OCR do Gemini
    ├── gemini.py            # Extração de tabelas via Gemini (OCR)
    ├── sheets.py            # Geração de Excel com formatação pro
    └── bot.py               # Handlers do Telegram + error handling

Stack Tecnológica

Componente Tecnologia
Bot Framework python-telegram-bot v21
IA / OCR Google Gemini 2.0 Flash
Planilhas openpyxl
Config python-dotenv

Licença

Este projeto está licenciado sob a MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.