# Installation de FPDF pour la génération des reçus PDF avec logo ## Installation via Composer (RECOMMANDÉ) Sur chaque serveur (DEV, REC, PROD), exécuter : ```bash cd /var/www/geosector/api composer require setasign/fpdf ``` Ou si composer.json est déjà mis à jour : ```bash cd /var/www/geosector/api composer update ``` ## Fichiers à déployer 1. **Nouveaux fichiers** : - `/src/Services/ReceiptPDFGenerator.php` - Nouvelle classe de génération PDF avec FPDF - `/docs/_logo_recu.png` - Logo par défaut (casque de pompier) 2. **Fichiers modifiés** : - `/src/Services/ReceiptService.php` - Utilise maintenant ReceiptPDFGenerator - `/composer.json` - Ajout de la dépendance FPDF ## Vérification Après installation, tester la génération d'un reçu : ```bash # Vérifier que FPDF est installé ls -la vendor/setasign/fpdf/ # Tester la génération d'un PDF php -r " require 'vendor/autoload.php'; \$pdf = new FPDF(); \$pdf->AddPage(); \$pdf->SetFont('Arial','B',16); \$pdf->Cell(40,10,'Test FPDF OK'); echo 'FPDF fonctionne' . PHP_EOL; " ``` ## Fonctionnalités du nouveau générateur ✅ **Support des vrais logos PNG/JPG** ✅ **Logo par défaut** si l'entité n'a pas de logo ✅ **Taille du logo** : 40x40mm ✅ **Mise en page professionnelle** avec cadre pour le montant ✅ **Conversion automatique** des caractères UTF-8 ✅ **PDF léger** (~20-30KB avec logo) ## Structure du reçu généré 1. **En-tête** : - Logo (40x40mm) à gauche - Nom et ville de l'entité à droite du logo 2. **Titre** : - "REÇU FISCAL DE DON" - Numéro du reçu - Article 200 CGI 3. **Corps** : - Informations du donateur - Montant en gros dans un cadre grisé - Date du don - Mode de règlement et campagne 4. **Pied de page** : - Mentions légales (réduction 66%) - Date et signature ## Résolution de problèmes Si erreur "Class 'FPDF' not found" : ```bash composer dump-autoload ``` Si problème avec le logo : - Vérifier que `/docs/_logo_recu.png` existe - Vérifier les permissions : `chmod 644 docs/_logo_recu.png` Si caractères accentués mal affichés : - FPDF utilise ISO-8859-1, la conversion est automatique dans ReceiptPDFGenerator