Este projeto tem como objetivo gerar arquivos PDF a partir de layouts HTML/CSS com alta fidelidade visual, utilizando Laravel e o pacote barryvdh/laravel-snappy, que integra o wkhtmltopdf ao framework.
- PHP >= 8.1
- Composer
- Laravel >= 10
- Docker (utilizado para garantir compatibilidade com o wkhtmltopdf)
Este projeto foi configurado para rodar preferencialmente em ambiente Docker, garantindo compatibilidade total com o
wkhtmltopdf.
- Clone o repositório:
git clone https://github.com/seuusuario/pdfbuilder.git
cd pdfbuilder- Build e subida dos containers:
docker-compose up -d --build- Execute comandos dentro do container:
docker exec -it pdfbuilder-app bash
composer install
php artisan key:generate- Acesse o projeto:
http://localhost:8000/gerar-pdf
A rota principal para geração do PDF é:
GET http://localhost:8000/gerar-pdf
O PDF será renderizado diretamente no navegador ou baixado, dependendo do cabeçalho HTTP configurado na resposta. A geração usa dados mockados definidos no controlador.
Nota: Caso queira alterar os dados mockados que serão renderizados no PDF, acesse o arquivo
app/Http/Controllers/PdfController.phpe edite a constante da classePdfMockDatana linha 10. Isso permite trocar rapidamente entre diferentes modelos de dados para testes.
routes/web.php- Define a rota/gerar-pdfpara geração do PDFapp/Http/Controllers/PdfController.php- Controlador responsável pela lógica de geraçãoresources/views/pdf- Contém os arquivos Blade com o layout do PDFpublic/assets- Imagens e arquivos estáticos usados no PDF