Compétence DOCX
Quand l'utiliser
- Lire ou réviser du contenu DOCX où la mise en page compte (tableaux, diagrammes, pagination).
- Créer ou modifier des fichiers DOCX avec une mise en forme professionnelle.
- Valider la mise en page visuelle avant livraison.
Workflow
- Privilégier la révision visuelle (mise en page, tableaux, diagrammes).
- Si
sofficeetpdftoppmsont disponibles, convertir DOCX → PDF → PNGs. - Ou utiliser
scripts/render_docx.py(nécessitepdf2imageet Poppler). - Si ces outils sont absents, les installer ou demander à l'utilisateur de réviser les pages rendues localement.
- Si
- Utiliser
python-docxpour les modifications et la création structurée (titres, styles, tableaux, listes). - Après chaque modification significative, effectuer un nouveau rendu et inspecter les pages.
- Si la révision visuelle n'est pas possible, extraire le texte avec
python-docxen dernier recours et signaler le risque de mise en page. - Garder les fichiers intermédiaires organisés et les nettoyer après approbation finale.
Conventions de fichiers temporaires et de sortie
- Utiliser
tmp/docs/pour les fichiers intermédiaires ; les supprimer une fois terminé. - Écrire les artefacts finaux sous
output/doc/lorsqu'on travaille dans ce dépôt. - Garder les noms de fichiers stables et descriptifs.
Dépendances (installer si manquantes)
Préférer uv pour la gestion des dépendances.
Paquets Python :
uv pip install python-docx pdf2image
Si uv n'est pas disponible :
python3 -m pip install python-docx pdf2image
Outils système (pour le rendu) :
# macOS (Homebrew)
brew install libreoffice poppler
# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils
Si l'installation n'est pas possible dans cet environnement, indiquer à l'utilisateur quelle dépendance manque et comment l'installer localement.
Environnement
Aucune variable d'environnement requise.
Commandes de rendu
DOCX → PDF :
soffice -env:UserInstallation=file:///tmp/lo_profile_$$ --headless --convert-to pdf --outdir $OUTDIR $INPUT_DOCX
PDF → PNGs :
pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
Assistant intégré :
python3 scripts/render_docx.py /chemin/vers/fichier.docx --output_dir /tmp/docx_pages
Exigences de qualité
- Livrer un document prêt pour le client : typographie cohérente, espacement, marges et hiérarchie claire.
- Éviter les défauts de mise en forme : texte tronqué / chevauchant, tableaux cassés, caractères illisibles, ou style de modèle par défaut.
- Les graphiques, tableaux et visuels doivent être lisibles dans les pages rendues avec un alignement correct.
- Utiliser uniquement des traits d'union ASCII. Éviter les U+2011 (trait d'union insécable) et autres tirets Unicode.
- Les citations et références doivent être lisibles par un humain ; ne jamais laisser de jetons d'outil ou de chaînes de substitution.
Vérifications finales
- Effectuer un nouveau rendu et inspecter chaque page à 100% de zoom avant la livraison finale.
- Corriger tout problème d'espacement, d'alignement ou de pagination et répéter la boucle de rendu.
- Confirmer qu'il n'y a pas de fichiers résiduels (fichiers temporaires, rendus en double) sauf si l'utilisateur demande de les conserver.