Un outil Python polyvalent pour le traitement de fichiers PDF avec une interface en ligne de commande et une application web Streamlit.
- 📦 Compression PDF : Réduisez la taille de vos fichiers PDF avec différents niveaux de qualité
- 📄 Conversion PDF → Word : Convertissez vos PDF en documents Word (.docx)
- 📄 Conversion Word → PDF : Transformez vos documents Word en PDF
- 🔗 Fusion de PDF : Combinez plusieurs fichiers PDF en un seul document
- 🌐 Interface web : Application Streamlit pour une utilisation simple via navigateur
- 💻 Interface CLI : Utilisation en ligne de commande pour l'automatisation
- Python 3.7+
- Ghostscript (pour la compression PDF)
- LibreOffice (pour la conversion Word → PDF)
Ubuntu/Debian :
sudo apt-get update
sudo apt-get install ghostscript libreofficemacOS :
brew install ghostscript libreofficeWindows :
- Téléchargez et installez Ghostscript
- Téléchargez et installez LibreOffice
- Clonez le repository :
git clone https://github.com/votre-username/rapidoPDF.git
cd rapidoPDF- Créez un environnement virtuel :
python -m venv venv
source venv/bin/activate # Linux/macOS
# ou
venv\Scripts\activate # Windows- Installez les dépendances Python :
pip install -r requirements.txtLancez l'application web :
streamlit run webapp.pyL'application sera accessible à l'adresse http://localhost:8501
python app.pySuivez les instructions interactives pour :
- Compresser un PDF
- Convertir PDF en Word
- Convertir Word en PDF
- Fusionner plusieurs PDF
rapidoPDF/
├── app.py # Interface CLI principale
├── webapp.py # Interface web Streamlit
├── requirements.txt # Dépendances Python
├── modules/
│ ├── compress.py # Compression PDF avec Ghostscript
│ ├── pdf_to_word.py # Conversion PDF → Word
│ ├── word_to_pdf.py # Conversion Word → PDF
│ └── merge.py # Fusion de fichiers PDF
├── uploads/ # Dossier temporaire pour les fichiers uploadés
└── outputs/ # Dossier de sortie pour les fichiers traités
| Niveau | Option | Description | Utilisation |
|---|---|---|---|
| 1 | /screen |
Qualité écran (très léger) | Affichage web, faible qualité |
| 2 | /ebook |
Qualité ebook (léger) | Lecture numérique |
| 3 | /printer |
Qualité imprimante (bonne) | Impression standard |
| 4 | /prepress |
Qualité prépresse (très bonne) | Impression professionnelle |
| 5 | /default |
Qualité par défaut | Usage général |
- pikepdf : Manipulation avancée des PDF
- PyPDF2 : Fusion et manipulation de base des PDF
- pdf2docx : Conversion PDF vers Word
- python-docx : Manipulation de documents Word
- streamlit : Interface web moderne
from modules.compress import compress_pdf
compress_pdf(
input_path="document.pdf",
output_path="document_compressed.pdf",
compression_level="/ebook"
)from modules.merge import merge_pdfs
merge_pdfs(
input_paths=["doc1.pdf", "doc2.pdf", "doc3.pdf"],
output_path="document_fusionne.pdf"
)- Vérifiez que Ghostscript est installé et accessible dans le PATH
- Sous Windows, ajoutez le répertoire Ghostscript au PATH système
- Assurez-vous que LibreOffice est installé
- Vérifiez que la commande
libreofficeest accessible en ligne de commande
- Vérifiez que les dossiers
uploads/etoutputs/sont accessibles en écriture - Sous Linux/macOS, utilisez
chmodsi nécessaire
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le projet
- Créez une branche feature (
git checkout -b feature/AmazingFeature) - Committez vos changements (
git commit -m 'Add some AmazingFeature') - Poussez vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
Si vous rencontrez des problèmes ou avez des questions :
- Ouvrez une issue sur GitHub
- Consultez la documentation des dépendances utilisées
- Interface CLI interactive
- Interface web Streamlit
- Compression PDF avec Ghostscript
- Conversion PDF ↔ Word
- Fusion de fichiers PDF