PDF to Markdown Converter — Converte PDFs para Markdown otimizado para uso com modelos de linguagem (LLMs)
Aplicação desktop para conversão em lote de arquivos PDF para Markdown, ideal para alimentar LLMs como ChatGPT, Claude, Gemini e outros. Preserva a estrutura dos documentos (títulos, tabelas, listas) e oferece OCR automático para PDFs escaneados.
- Conversão em lote — selecione até 50 PDFs e converta de uma vez
- Estrutura preservada — títulos, parágrafos, listas e tabelas mantidos no Markdown
- Extração de imagens — opcional, salva imagens em subpasta organizada
- OCR automático — detecta PDFs escaneados e reprocessa com Tesseract + EasyOCR
- Interface gráfica — simples, com barra de progresso e seletor de idioma
- Bilíngue — Português (Brasil) e Inglês, com troca ao vivo
- Multiplataforma — Windows e Linux
Baixe a versão mais recente na aba Releases:
| Plataforma | Arquivo | Descrição |
|---|---|---|
| Windows | PDF2LLM-Setup-x.x.x.exe |
Instalador com menu iniciar e desinstalador |
| Windows | PDF2LLM-portable.zip |
Versão portátil (extraia e use) |
| Windows | PDF2LLM.exe |
Executável único (standalone) |
| Linux (Debian/Ubuntu) | pdf2llm_x.x.x_amd64.deb |
Pacote .deb (sudo dpkg -i ...) |
Se preferir não baixar o .deb completo, instale direto via pip:
pip install git+https://github.com/wcmendes/pdftollm.git
python -m src.mainRequer Python 3.10+ e python3-tk instalado (sudo apt install python3-tk).
- Para o .exe / .deb: nenhum — tudo incluso
- Para rodar do código-fonte: Python 3.10+
- Tesseract OCR (opcional): melhora resultados de OCR, mas a aplicação funciona sem ele
| Plataforma | Versões suportadas |
|---|---|
| Windows | 10, 11 (64-bit) |
| Ubuntu | 22.04, 24.04 (amd64) |
| Debian | 11, 12 (amd64) |
| Linux Mint | 21+ |
| Pop!_OS | 22.04+ |
Outras distros baseadas em Debian/Ubuntu com
glibc >= 2.31também devem funcionar.
Windows
- Baixe em https://github.com/UB-Mannheim/tesseract/wiki
- Instale e adicione ao PATH (ex:
C:\Program Files\Tesseract-OCR)
Linux (Ubuntu/Debian)
sudo apt install tesseract-ocr tesseract-ocr-porBasta abrir o PDF2LLM.exe (Windows) ou pdf2llm (Linux). A interface guia todo o processo:
- Selecione os PDFs
- A pasta de destino é sugerida automaticamente (
/mdao lado dos PDFs) - Clique em Converter
- Ao final, escolha se quer abrir a pasta com os resultados
git clone https://github.com/wcmendes/pdftollm.git
cd pdftollm
pip install -e .[dev]
python -m src.mainApós a conversão, se o sistema detectar PDFs que produziram Markdown vazio (documentos digitalizados), ele oferece reprocessamento automático com OCR:
- Tesseract (primário) — rápido e preciso
- EasyOCR (fallback) — baseado em deep learning, já incluso no executável
Se nenhum dos dois conseguir extrair texto, o arquivo original é preservado.
O projeto oferece múltiplas formas de empacotamento:
| Comando | Resultado |
|---|---|
build_exe.bat |
dist\PDF2LLM.exe (standalone, ~280 MB) |
build_setup.bat |
dist\PDF2LLM-Setup-x.x.x.exe (instalador) |
| PyInstaller folder | dist\PDF2LLM\ → pode zipar como portátil |
O GitHub Actions (release.yml) gera tudo automaticamente ao criar uma tag v*.
pdftollm/
├── src/
│ ├── main.py # Entry point
│ ├── converters/ # Motor PDF → Markdown
│ ├── gui/ # Interface tkinter
│ ├── i18n/ # Internacionalização
│ ├── models/ # Dataclasses e gerenciadores
│ └── ocr/ # Tesseract + EasyOCR
├── locales/ # Traduções (JSON)
├── tests/ # 246 testes (unitários + propriedade)
├── pyproject.toml # Dependências e config
├── pdfconverter.spec # Build one-file (.exe)
├── pdfconverter_folder.spec # Build one-folder (para Setup/ZIP)
├── installer.iss # Inno Setup script
└── .github/workflows/ # CI/CD (release automático)
pytest # executa todos
pytest --cov=src # com coberturaMIT — William Mendes, 2026