Compétence DOCX
Quand l'utiliser
- Lire ou examiner le contenu DOCX où la mise en page est importante (tableaux, diagrammes, pagination).
- Créer ou éditer des fichiers DOCX avec une mise en forme professionnelle.
- Valider la mise en page visuelle avant la livraison.
Flux de travail
- Préférer l'examen visuel (mise en page, tableaux, diagrammes).
- Si
sofficeetpdftoppmsont disponibles, convertir DOCX -> PDF -> PNGs. - Ou utiliser
scripts/render_docx.py(nécessitepdf2imageet Poppler). - Si ces outils manquent, les installer ou demander à l'utilisateur d'examiner les pages rendues localement.
- Si
- Utiliser
python-docxpour les éditions et la création structurée (titres, styles, tableaux, listes). - Après chaque modification significative, re-rendre et inspecter les pages.
- Si l'examen visuel n'est pas possible, extraire le texte avec
python-docxen secours et signaler le risque de mise en page. - Maintenir les sorties intermédiaires organisées et nettoyer après approbation finale.
Conventions temp et output
- Utiliser
tmp/docs/pour les fichiers intermédiaires ; supprimer une fois terminé. - Écrire les artefacts finaux sous
output/doc/quand on travaille dans ce dépôt. - Conserver 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 la génération) :
# 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 helper groupé :
python3 scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages
Attentes 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 coupé/superposé, 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 tirets ASCII. Éviter U+2011 (tiret insécable) et autres tirets Unicode.
- Les citations et références doivent être lisibles par l'homme ; ne jamais laisser de jetons d'outils ou de chaînes d'espace réservé.
Vérifications finales
- Re-rendre 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 restes (fichiers temp, rendus en double) sauf si l'utilisateur demande à les conserver.