# 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