https://github.com/devdeividmoura/pdf-to-sheet
Converta PDFs em planilhas com facilidade e rapidez usando Python, FastAPI e Docker.
https://github.com/devdeividmoura/pdf-to-sheet
api automation csv data-extraction data-processing docker eficiency etl fastapi pandas productivity pypdf2 python
Last synced: 2 months ago
JSON representation
Converta PDFs em planilhas com facilidade e rapidez usando Python, FastAPI e Docker.
- Host: GitHub
- URL: https://github.com/devdeividmoura/pdf-to-sheet
- Owner: DevDeividMoura
- License: mit
- Created: 2024-12-13T21:22:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-14T00:39:27.000Z (over 1 year ago)
- Last Synced: 2025-02-20T05:17:42.538Z (over 1 year ago)
- Topics: api, automation, csv, data-extraction, data-processing, docker, eficiency, etl, fastapi, pandas, productivity, pypdf2, python
- Language: JavaScript
- Homepage:
- Size: 16.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
PDF TO SHEET
Converta PDFs em planilhas de forma fácil e rápida!
## Índice
- [Visão Geral](#🔮-visão-geral)
- [Demonstração](#🎥-demonstração)
- [Funcionalidades](#☄️-funcionalidades)
- [Começando](#🛸-começando)
- [Pré-requisitos](#📋-pré-requisitos)
- [Instalação](#⚙️-instalação)
- [Executando](#🚀-executando)
- [Como Usar](#🤖-como-usar)
- [Roadmap](#🏎️💨-roadmap)
- [Contribuindo](#🔰-contribuindo)
- [Licença](#🎗-licença)
---
## 🔮 Visão Geral
O **PDF to Sheet** simplifica a conversão de relatorios PDF (Xpert) para formatos de planilha de forma fácil. Sua interface amigável permite o upload e processamento sem complicações, gerando saídas estruturadas para fácil manipulação dos dados. Ideal para profissionais que lidam com tarefas manuais de extração de dados, este projeto agiliza o processo de conversão, aumentando a produtividade e eficiência.
---
## 🎥 Demonstração
Veja abaixo uma demonstração do projeto em ação:

---
## ☄️ Funcionalidades
| | Funcionalidade | Resumo |
| :---- | :---------------------------- | :------------------------------------------------------------------------------------------- |
| ⚙️ | **Arquitetura** | Utiliza **FastAPI** para APIs, **Pydantic** para validação e **Docker** para implantação. |
| 🧩 | **Modularidade** | Padrão **MVC** com módulos específicos para APIs, manipulação de arquivos e processamento. |
| ⚡️ | **Desempenho** | Conversão rápida com **PyPDF2** e **Pandas** para otimização de processamento de dados. |
| 🛡️ | **Segurança** | Middleware **CORS**, validação de tipos de arquivo e boas práticas para proteger dados. |
| 🌐 | **Interface Web Intuitiva** | Interface simples para upload e análise de arquivos. |
| 🔄 | **Extração e Conversão** | Extração de dados específicos de PDFs e exportação para **CSV** e **Excel**. |
| 📦 | **Dependências** | Uso de **pip** e **Docker** para ambientes consistentes e instalação de bibliotecas. |
| 🚀 | **Escalabilidade** | Planejado para crescimento com **FastAPI** assíncrono e escalonamento via **Docker**. |
---
## 🛸 Começando
### 📋 Pré-requisitos
Antes de começar com pdf-to-sheet, certifique-se de que seu ambiente de execução atende aos seguintes requisitos:
- **Linguagem de Programação:** Python 3.10+
- **Gerenciador de Pacotes:** Pip
- **Tempo de Execução de Contêiner:** Docker *(Opicional)*
### ⚙️ Instalação
Instale pdf-to-sheet usando um dos seguintes métodos:
**Construir a partir do código-fonte:**
1. Clone o repositório pdf-to-sheet:
```sh
❯ git clone https://github.com/DevDeividMoura/pdf-to-sheet
```
2. Navegue até o diretório do projeto:
```sh
❯ cd pdf-to-sheet
```
3. Instale as dependências do projeto:
**Usando `pip`** [
](https://pypi.org/project/pip/)
```sh
❯ pip install -r requirements.txt
```
**Usando `docker`** [
](https://www.docker.com/)
```sh
❯ docker compose --build
```
### 🚀 Executando
Execute pdf-to-sheet usando o seguinte comando no `terminal`:
```sh
❯ chmod +x ./start.sh
❯ ./start.sh
```
**Usando `docker`** [
](https://www.docker.com/)
```sh
❯ docker compose up -d
```
---
### 🤖 Como Usar
#### 💻 Via Interface Web
- Acesse a [Interface Web](http://localhost:8080) no navegador.
- Faça o upload do arquivo PDF desejado.
- Visualize os dados extraídos diretamente na interface.
- Exporte os dados para CSV ou Excel com um clique.
#### > Via API
1. Envie um arquivo PDF para o endpoint /api/upload utilizando uma ferramenta como Postman ou curl:
```bash
curl -X POST http://localhost:8080/api/v1/upload-pdf/ \
-F "file=@seu-relatorio.pdf"
```
2. O retorno será um JSON com os dados extraídos:
```json
{
"success": true,
"message": "Data extracted successfully",
"data": [
{
"Data": "01/01/2024",
"Posto": "Auto Posto",
"Total": "230,28",
"Placa": "STRADA (ABC-1234)",
"Odômetro": "118466"
},
...
]
}
```
---
## 🏎️💨 Roadmap
- [ ] **`Tarefa 1`**: Suporte para múltiplos formatos de relatórios.
- [ ] **`Tarefa 2`**: Validação e tratamento de erros avançados.
- [ ] **`Tarefa 3`**: Melhorias na interface web.
---
## 🔰 Contribuindo
- **💬 [Participe das Discussões](https://github.com/DevDeividMoura/pdf-to-sheet/discussions)**: Compartilhe suas ideias, forneça feedback ou faça perguntas.
- **🐛 [Reportar Problemas](https://github.com/DevDeividMoura/pdf-to-sheet/issues)**: Submeta bugs encontrados ou registre solicitações de funcionalidades para o projeto `pdf-to-sheet`.
- **💡 [Enviar Pull Requests](https://github.com/DevDeividMoura/pdf-to-sheet/blob/main/CONTRIBUTING.md)**: Revise PRs abertas e envie seus próprios PRs.
---
## 🎗 Licença
Lançado sob a [Licença MIT](LICENSE).