Un script Python puissant et intelligent pour compresser des fichiers PDF avec détection automatique du type de contenu.
- 🧠 Détection automatique intelligente : Analyse le contenu et choisit la meilleure stratégie
- 🖼️ Compression avancée d'images : Conversion PNG→JPEG, redimensionnement intelligent
- ⚡ Jusqu'à 95% de réduction : Résultats spectaculaires sur les PDF scannés
- 🔧 Robuste : Fallback automatique, gestion d'erreurs, préservation de l'original
- 📁 Traitement par lot : Compression de dossiers entiers
- 🛠️ Outils avancés : Analyse, diagnostic, contrôle précis
Type de PDF | Taille originale | Taille compressée | Réduction |
---|---|---|---|
Document scanné (images PNG) | 22.3 Mo | 1.2 Mo | 94.5% |
Présentation avec photos | 15.8 Mo | 4.2 Mo | 73.4% |
Document texte | 8.5 Mo | 3.1 Mo | 63.5% |
# Cloner le repository
git clone https://github.com/laurent-deberti/pdf-compressor.git
cd pdf-compressor
# Installer les dépendances
pip install -r requirements.txt
# Tester l'installation
python tools/test_setup.py
python compress_pdf.py votre_fichier.pdf
# Spécifier un fichier de sortie
python compress_pdf.py input.pdf -o output_compressed.pdf
# Choisir le niveau de compression
python compress_pdf.py input.pdf -l high
# Méthode spécifique
python compress_pdf.py input.pdf -m pikepdf
input
: Fichier PDF d'entrée (obligatoire)-o, --output
: Fichier PDF de sortie (par défaut:nom_original_compressed.pdf
)-m, --method
: Méthode de compression (auto
,pikepdf
,fitz
,pypdf
)-l, --level
: Niveau de compression (low
,medium
,high
)
Méthode | Description | Recommandé pour |
---|---|---|
auto |
Détection automatique (défaut) | Usage général |
pikepdf |
Moderne et efficace | Documents texte, formulaires |
fitz |
PyMuPDF - très performant | Gros fichiers, images |
pypdf |
PyPDF2 - compatible | Compatibilité maximale |
Des outils spécialisés sont disponibles dans le dossier tools/
:
- Compression spécialisée images :
python tools/compress_image_pdf.py
- Traitement par lot :
python tools/batch_compress.py
- Analyse de PDF :
python tools/analyze_pdf.py
- Tests et diagnostic :
python tools/test_setup.py
Voir tools/README.md
pour les détails.
Le script analyse automatiquement le contenu du PDF :
-
PDF avec images volumineuses → Compression avancée d'images
- Conversion PNG → JPEG avec qualité ajustable
- Redimensionnement intelligent
- Réductions jusqu'à 95%
-
PDF principalement texte → Compression classique optimisée
- Compression des flux
- Optimisation des objets
- Réductions 20-50%
-
PDF mixtes → Meilleure méthode selon le contenu dominant
- Fallback automatique : Si une méthode échoue, essaie les autres
- Validation : Vérifie que la compression réduit vraiment la taille
- Préservation : Ne modifie jamais le fichier original
- README Français - Ce fichier
- English README - English version
- Guide des outils - Documentation des outils avancés
- Python 3.7+
- Dépendances :
pikepdf
,PyMuPDF
,PyPDF2
,Pillow
# Si pip install échoue
python tools/install_deps.py
# Ou installation bash
bash tools/install.sh
# Vérifier l'installation
python tools/test_setup.py
# Analyser un PDF problématique
python tools/analyze_pdf.py fichier.pdf
python compress_pdf.py rapport.pdf
python compress_pdf.py presentation.pdf -l high
python tools/batch_compress.py ~/Documents/Archives/
python tools/compress_image_pdf.py scan.pdf -q 60 -w 800
Les contributions sont les bienvenues ! N'hésitez pas à :
- 🐛 Signaler des bugs
- 💡 Proposer des améliorations
- 📖 Améliorer la documentation
- 🔧 Soumettre des pull requests
Ce projet est sous licence MIT. Voir le fichier LICENSE
pour plus de détails.
Si ce projet vous a aidé, n'hésitez pas à lui donner une étoile ⭐ !
⚡ Le mode automatique détecte intelligemment le type de PDF et applique la compression optimale !