- Corrige l'erreur SQL 'Unknown column fk_operation in users' - L'opération active est récupérée depuis operations.chk_active = 1 - Jointure avec users pour filtrer par entité de l'admin créateur - Query: SELECT o.id FROM operations o INNER JOIN users u ON u.fk_entite = o.fk_entite WHERE u.id = ? AND o.chk_active = 1
90 lines
2.2 KiB
Markdown
Executable File
90 lines
2.2 KiB
Markdown
Executable File
# 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 |