$ cd ~/repos/pdf-para-epub
pdf-para-epub
Conversor online de PDF para EPUB, para ler no Kindle, Kobo e apps de leitura. Front estático no GitHub Pages e API em Python que roda o Calibre num container Docker.
## Sobre o projeto
O pdf-para-epub é um conversor online de PDF para EPUB, o formato que se adapta à tela do Kindle, do Kobo e dos aplicativos de leitura. A pessoa escolhe um ou mais PDFs, converte e baixa o EPUB, sem login.
A conversão é feita pelo Calibre (ebook-convert), que precisa de um servidor com os binários do sistema. Por isso o projeto tem duas partes: as páginas, em HTML, CSS e JavaScript puros, publicadas no GitHub Pages; e uma API em Python com FastAPI, empacotada em Docker com o Calibre instalado e publicada no Render.
A API foi feita para aguentar uso público: limite de tamanho verificado no cabeçalho e durante o recebimento, rate limit por IP, limite de conversões simultâneas, timeout e uma segunda tentativa sem as opções heurísticas quando a primeira falha. Os arquivos ficam em pastas temporárias com nome aleatório e são apagados depois da resposta e numa limpeza periódica.
Como o servidor gratuito dorme quando fica sem uso, a página já manda um sinal para acordá-lo assim que abre e mostra o status (conectando, acordando, online). O site também traz guias sobre leitura digital, como enviar EPUB para o Kindle e por que alguns PDFs não convertem bem.
## Destaques
- API FastAPI que recebe o PDF, roda o ebook-convert do Calibre e devolve o EPUB
- Rate limit por IP, limite de conversões simultâneas, timeout e validação de tamanho do upload
- Arquivos temporários com nome aleatório, apagados após a resposta e numa limpeza periódica
- Front em HTML, CSS e JavaScript com fila de arquivos, arrastar e soltar e status do servidor
- Publicação separada: páginas no GitHub Pages e API em Docker no Render
## Stack e linguagens
## Outros projetos
- GestaoComercialSistema desktop para lojas que vendem produtos e prestam serviço nos equipamentos dos clientes. Primeiro uso: loja de toners, impressoras e papelaria.
- GestaoModaVendas e estoque para lojas de roupas: PDV pelo teclado, grade de tamanhos e cores, crediário, trocas, caixa e 22 relatórios. Reconstruído em .NET 8 sobre a base do GestaoComercial.
- ProjetoOficinaO sistema que deu origem à família: ordens de serviço, clientes e veículos para oficinas mecânicas.
- CriadorInstaladorPrograma com tela que gera o instalador .msi de um sistema Windows Forms, com telas em português e pasta de dados compartilhada.
- LionFinanceAPI de finanças pessoais em ASP.NET Core organizada em camadas: Domain, Application, Infrastructure e API. Em desenvolvimento.