Création, édition et analyse de fichiers PPTX
Aperçu
Un utilisateur peut vous demander de créer, éditer ou analyser le contenu d'un fichier .pptx. Un fichier .pptx est essentiellement une archive ZIP contenant des fichiers XML et d'autres ressources que vous pouvez lire ou éditer. Vous disposez de différents outils et flux de travail pour différentes tâches.
Lecture et analyse du contenu
Extraction de texte
Si vous avez seulement besoin de lire le contenu textuel d'une présentation, vous devez convertir le document en Markdown :
# Convertir un document en Markdown
python -m markitdown chemin/vers/fichier.pptx
Accès XML brut
Vous avez besoin d'un accès XML brut pour : les commentaires, les notes du présentateur, les dispositions de diapositives, les animations, les éléments de conception et le formatage complexe. Pour ces fonctionnalités, vous devez décompresser la présentation et lire son contenu XML brut.
Décompresser un fichier
python ooxml/scripts/unpack.py <fichier_office> <répertoire_sortie>
Remarque : Le script unpack.py se trouve à l'emplacement skills/pptx/ooxml/scripts/unpack.py par rapport à la racine du projet. Si le script n'existe pas à ce chemin, utilisez find . -name "unpack.py" pour le localiser.
Structures de fichiers clés
ppt/presentation.xml- Métadonnées principales de la présentation et références aux diapositivesppt/slides/slide{N}.xml- Contenu de chaque diapositive (slide1.xml, slide2.xml, etc.)ppt/notesSlides/notesSlide{N}.xml- Notes du présentateur pour chaque diapositiveppt/comments/modernComment_*.xml- Commentaires pour des diapositives spécifiquesppt/slideLayouts/- Modèles de mise en page des diapositivesppt/slideMasters/- Modèles de diapositive maîtreppt/theme/- Thème et informations de styleppt/media/- Images et autres fichiers média
Extraction de la typographie et des couleurs
Lorsqu'un exemple de design est fourni pour imitation : Analysez toujours d'abord la typographie et les couleurs de la présentation en utilisant les méthodes suivantes :
- Lire le fichier de thème : Vérifiez
ppt/theme/theme1.xmlpour les couleurs (<a:clrScheme>) et les polices (<a:fontScheme>) - Échantillonner le contenu d'une diapositive : Examinez
ppt/slides/slide1.xmlpour l'utilisation réelle des polices (<a:rPr>) et des couleurs - Rechercher des motifs : Utilisez grep pour trouver des références de couleur (
<a:solidFill>,<a:srgbClr>) et de police dans tous les fichiers XML
Création d'une nouvelle présentation PowerPoint sans modèle
Lors de la création d'une nouvelle présentation PowerPoint à partir de zéro, utilisez le flux de travail html2pptx pour convertir des diapositives HTML en PowerPoint avec un positionnement précis.
Principes de conception
CRITIQUE : Avant de créer toute présentation, analysez le contenu et choisissez des éléments de conception appropriés :
- Considérez le sujet : De quoi parle cette présentation ? Quel ton, secteur d'activité ou ambiance suggère-t-elle ?
- Vérifiez l'image de marque : Si l'utilisateur mentionne une entreprise/organisation, tenez compte de ses couleurs et de son identité
- Associez la palette au contenu : Choisissez des couleurs qui reflètent le sujet
- Expliquez votre approche : Décrivez vos choix de conception avant d'écrire du code
Exigences :
- ✅ Expliquez votre approche de conception basée sur le contenu AVANT d'écrire du code
- ✅ Utilisez uniquement des polices web-safe : Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact
- ✅ Créez une hiérarchie visuelle claire via la taille, le poids et la couleur
- ✅ Assurez la lisibilité : contraste fort, texte de taille appropriée, alignement propre
- ✅ Soyez cohérent : répétez les motifs, l'espacement et le langage visuel sur toutes les diapositives
Sélection de la palette de couleurs
Choisir les couleurs de manière créative :
- Pensez au-delà des valeurs par défaut : Quelles couleurs correspondent réellement à ce sujet spécifique ? Évitez les choix automatiques.
- Considérez plusieurs angles : Sujet, secteur d'activité, ambiance, niveau d'énergie, public cible, identité de marque (si mentionnée)
- Soyez aventureux : Essayez des combinaisons inattendues - une présentation sur la santé n'a pas besoin d'être verte, la finance n'a pas besoin d'être bleu marine
- Construisez votre palette : Choisissez 3 à 5 couleurs qui fonctionnent ensemble (couleurs dominantes + tons de soutien + accent)
- Assurez le contraste : Le texte doit être clairement lisible sur les arrière-plans
Exemples de palettes de couleurs (utilisez-les pour stimuler la créativité - choisissez-en une, adaptez-la ou créez la vôtre) :
- Bleu classique : Bleu marine profond (#1C2833), ardoise (#2E4053), argent (#AAB7B8), blanc cassé (#F4F6F6)
- Sarcelle et corail : Sarcelle (#5EA8A7), sarcelle foncée (#277884), corail (#FE4447), blanc (#FFFFFF)
- Rouge audacieux : Rouge (#C0392B), rouge vif (#E74C3C), orange (#F39C12), jaune (#F1C40F), vert (#2ECC71)
- Rose chaud : Mauve (#A49393), rose (#EED6D3), rosé (#E8B4B8), crème (#FAF7F2)
- Luxe bordeaux : Bordeaux (#5D1D2E), cramoisi (#951233), rouille (#C15937), or (#997929)
- Violet profond et émeraude : Violet (#B165FB), bleu foncé (#181B24), émeraude (#40695B), blanc (#FFFFFF)
- Crème et vert forêt : Crème (#FFE1C7), vert forêt (#40695B), blanc (#FCFCFC)
- Rose et violet : Rose (#F8275B), corail (#FF574A), rosé (#FF737D), violet (#3D2F68)
- Citron vert et prune : Citron vert (#C5DE82), prune (#7C3A5F), corail (#FD8C6E), bleu-gris (#98ACB5)
- Noir et or : Or (#BF9A4A), noir (#000000), crème (#F4F6F6)
- Sauge et terre cuite : Sauge (#87A96B), terre cuite (#E07A5F), crème (#F4F1DE), charbon (#2C2C2C)
- Charbon et rouge : Charbon (#292929), rouge (#E33737), gris clair (#CCCBCB)
- Orange vif : Orange (#F96D00), gris clair (#F2F2F2), charbon (#222831)
- Vert forêt : Noir (#191A19), vert (#4E9F3D), vert foncé (#1E5128), blanc (#FFFFFF)
- Arc-en-ciel rétro : Violet (#722880), rose (#D72D51), orange (#EB5C18), ambre (#F08800), or (#DEB600)
- Terreux vintage : Moutarde (#E3B448), sauge (#CBD18F), vert forêt (#3A6B35), crème (#F4F1DE)
- Rose côtier : Vieux rose (#AD7670), castor (#B49886), coquille d'œuf (#F3ECDC), gris cendré (#BFD5BE)
- Orange et turquoise : Orange clair (#FC993E), turquoise gris (#667C6F), blanc (#FCFCFC)
Options de détails visuels
Motifs géométriques :
- Séparateurs de diapositives en diagonale au lieu d'horizontaux
- Largeurs de colonnes asymétriques (30/70, 40/60, 25/75)
- En-têtes de texte tournés à 90° ou 270°
- Cadres circulaires/hexagonaux pour les images
- Formes triangulaires d'accentuation dans les coins
- Formes qui se chevauchent pour créer de la profondeur
Traitements des bordures et des cadres :
- Bordures épaisses d'une seule couleur (10-20 pt) sur un seul côté
- Bordures à double ligne avec des couleurs contrastées
- Crochets d'angle au lieu de cadres complets
- Cadres en forme de L (haut+gauche ou bas+droite)
- Accents de soulignement sous les en-têtes (3-5 pt d'épaisseur)
Traitements typographiques :
- Contraste de taille extrême (titres de 72 pt vs corps de 11 pt)
- En-têtes en majuscules avec un espacement large
- Sections numérotées dans une police d'affichage surdimensionnée
- Police à chasse fixe (Courier New) pour les données/statistiques/contenu technique
- Polices condensées (Arial Narrow) pour les informations denses
- Texte en contour pour l'emphase
Style des graphiques et des données :
- Graphiques monochromes avec une seule couleur d'accent pour les données clés
- Graphiques à barres horizontales au lieu de verticales
- Diagrammes en points au lieu de graphiques à barres
- Grilles minimales ou absentes
- Étiquettes de données directement sur les éléments (pas de légendes)
- Chiffres surdimensionnés pour les métriques clés
Innovations de mise en page :
- Images à fond perdu avec superpositions de texte
- Colonne latérale (20-30 % de largeur) pour la navigation/le contexte
- Systèmes de grille modulaires (blocs 3×3, 4×4)
- Flux de contenu en Z ou en F
- Boîtes de texte flottantes sur des formes colorées
- Mises en page multi-colonnes de type magazine
Traitements d'arrière-plan :
- Blocs de couleur unie occupant 40 à 60 % de la diapositive
- Remplissages dégradés (verticaux ou diagonaux uniquement)
- Arrière-plans divisés (deux couleurs, diagonale ou verticale)
- Bandes de couleur d'un bord à l'autre
- Espace négatif comme élément de conception
Conseils de mise en page
Lors de la création de diapositives avec des graphiques ou des tableaux :
- Mise en page à deux colonnes (PRÉFÉRÉE) : Utilisez un en-tête sur toute la largeur, puis deux colonnes en dessous - texte/puces dans une colonne et le contenu principal dans l'autre. Cela offre un meilleur équilibre et rend les graphiques/tableaux plus lisibles. Utilisez flexbox avec des largeurs de colonnes inégales (par exemple, 40 %/60 %) pour optimiser l'espace pour chaque type de contenu.
- Mise en page pleine diapositive : Laissez le contenu principal (graphique/tableau) occuper toute la diapositive pour un impact et une lisibilité maximaux
- NE JAMAIS empiler verticalement : Ne placez pas de graphiques/tableaux sous du texte dans une seule colonne - cela entraîne une mauvaise lisibilité et des problèmes de mise en page
Flux de travail
- OBLIGATOIRE - LIRE L'INTÉGRALITÉ DU FICHIER : Lisez
html2pptx.mdcomplètement du début à la fin. NE JAMAIS définir de limites de plage lors de la lecture de ce fichier. Lisez le contenu complet du fichier pour connaître la syntaxe détaillée, les règles de formatage critiques et les meilleures pratiques avant de procéder à la création de la présentation. - Créez un fichier HTML pour chaque diapositive avec les bonnes dimensions (par exemple, 720 pt × 405 pt pour 16:9)
- Utilisez
<p>,<h1>-<h6>,<ul>,<ol>pour tout le contenu textuel - Utilisez
class="placeholder"pour les zones où des graphiques/tableaux seront ajoutés (rendez-les avec un fond gris pour la visibilité) - CRITIQUE : Rasterisez d'abord les dégradés et les icônes en images PNG à l'aide de Sharp, puis référencez-les dans le HTML
- MISE EN PAGE : Pour les diapositives avec des graphiques/tableaux/images, utilisez soit une mise en page pleine diapositive, soit une mise en page à deux colonnes pour une meilleure lisibilité
- Utilisez
- Créez et exécutez un fichier JavaScript en utilisant la bibliothèque
html2pptx.jspour convertir les diapositives HTML en PowerPoint et enregistrer la présentation- Utilisez la fonction
html2pptx()pour traiter chaque fichier HTML - Ajoutez des graphiques et des tableaux aux zones réservées à l'aide de l'API PptxGenJS
- Enregistrez la présentation en utilisant
pptx.writeFile()
- Utilisez la fonction
- Validation visuelle : Générez des vignettes et inspectez-les pour détecter les problèmes de mise en page
- Créez une grille de vignettes :
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 - Lisez et examinez attentivement l'image de la vignette pour détecter :
- Texte tronqué : Texte coupé par les barres d'en-tête, les formes ou les bords des diapositives
- Texte superposé : Texte qui se chevauche avec d'autres textes ou formes
- Problèmes de positionnement : Contenu trop proche des limites des diapositives ou d'autres éléments
- Problèmes de contraste : Contraste insuffisant entre le texte et les arrière-plans
- Si des problèmes sont détectés, ajustez les marges/l'espacement/les couleurs du HTML et régénérez la présentation
- Répétez jusqu'à ce que toutes les diapositives soient visuellement correctes
- Créez une grille de vignettes :
Édition d'une présentation PowerPoint existante
Pour éditer des diapositives dans une présentation PowerPoint existante, vous devez travailler avec le format brut Office Open XML (OOXML). Cela implique de décompresser le fichier .pptx, d'éditer le contenu XML, puis de le recompresser.
Flux de travail
- OBLIGATOIRE - LIRE L'INTÉGRALITÉ DU FICHIER : Lisez
ooxml.md(~500 lignes) complètement du début à la fin. NE JAMAIS définir de limites de plage lors de la lecture de ce fichier. Lisez le contenu complet du fichier pour obtenir des conseils détaillés sur la structure OOXML et les flux de travail d'édition avant toute édition de présentation. - Décompressez la présentation :
python ooxml/scripts/unpack.py <fichier_office> <répertoire_sortie> - Éditez les fichiers XML (principalement
ppt/slides/slide{N}.xmlet les fichiers associés) - CRITIQUE : Validez immédiatement après chaque modification et corrigez toute erreur de validation avant de continuer :
python ooxml/scripts/validate.py <répertoire> --original <fichier> - Compressez la présentation finale :
python ooxml/scripts/pack.py <répertoire_entrée> <fichier_office>
Création d'une nouvelle présentation PowerPoint à l'aide d'un modèle
Lorsque vous devez créer une présentation qui suit le design d'un modèle existant, vous devez dupliquer et réorganiser les diapositives du modèle avant de remplacer le contenu des espaces réservés.
Flux de travail
-
Extrayez le texte du modèle ET créez une grille de vignettes visuelle :
- Extrayez le texte :
python -m markitdown modèle.pptx > modèle-content.md - Lisez
modèle-content.md: Lisez le fichier entier pour comprendre le contenu de la présentation modèle. NE JAMAIS définir de limites de plage lors de la lecture de ce fichier. - Créez des grilles de vignettes :
python scripts/thumbnail.py modèle.pptx - Voir la section Création de grilles de vignettes pour plus de détails
- Extrayez le texte :
-
Analysez le modèle et enregistrez l'inventaire dans un fichier :
- Analyse visuelle : Examinez la/les grille(s) de vignettes pour comprendre les mises en page des diapositives, les motifs de conception et la structure visuelle
- Créez et enregistrez un fichier d'inventaire du modèle nommé
template-inventory.mdcontenant :# Analyse de l'inventaire du modèle **Nombre total de diapositives : [compte]** **IMPORTANT : Les diapositives sont indexées à partir de 0 (première diapositive = 0, dernière diapositive = compte-1)** ## [Nom de la catégorie] - Diapositive 0 : [Code de mise en page si disponible] - Description/objectif - Diapositive 1 : [Code de mise en page] - Description/objectif - Diapositive 2 : [Code de mise en page] - Description/objectif [... CHAQUE diapositive doit être listée individuellement avec son index ...] - Utilisation de la grille de vignettes : Référencez les vignettes visuelles pour identifier :
- Les motifs de mise en page (diapositives de titre, contenus, séparateurs de sections)
- Les emplacements et le nombre d'espaces réservés pour les images
- La cohérence du design entre les groupes de diapositives
- La hiérarchie et la structure visuelle
- Ce fichier d'inventaire est OBLIGATOIRE pour sélectionner les modèles appropriés à l'étape suivante
-
Créez le plan de la présentation en fonction de l'inventaire du modèle :
- Passez en revue les modèles disponibles de l'étape 2.
- Choisissez un modèle d'introduction ou de titre pour la première diapositive. Cela doit être l'un des premiers modèles.
- Choisissez des mises en page sûres, basées sur du texte pour les autres diapositives.
- CRITIQUE : Faites correspondre la structure de la mise en page au contenu réel :
- Mises en page à une seule colonne : Utilisez pour une narration unifiée ou un seul sujet
- Mises en page à deux colonnes : Utilisez UNIQUEMENT lorsque vous avez exactement 2 éléments/concepts distincts
- Mises en page à trois colonnes : Utilisez UNIQUEMENT lorsque vous avez exactement 3 éléments/concepts distincts
- Mises en page Image + texte : Utilisez UNIQUEMENT lorsque vous avez des images réelles à insérer
- Mises en page de citation : Utilisez UNIQUEMENT pour des citations réelles de personnes (avec mention), jamais pour mettre l'accent
- N'utilisez jamais de mises en page avec plus d'espaces réservés que de contenu
- Si vous avez 2 éléments, ne les forcez pas dans une mise en page à 3 colonnes
- Si vous avez 4 éléments ou plus, envisagez de diviser en plusieurs diapositives ou d'utiliser un format de liste
- Comptez vos éléments de contenu réels AVANT de sélectionner la mise en page
- Vérifiez que chaque espace réservé dans la mise en page choisie sera rempli avec un contenu significatif
- Sélectionnez une option représentant la meilleure mise en page pour chaque section de contenu.
- Enregistrez
outline.mdavec le contenu ET la correspondance du modèle qui exploite les designs disponibles - Exemple de correspondance de modèle :
**Remarque : Le contenu original a été tronqué pour la traduction. La réponse ci-dessus traduit le contenu complet du SKILL.md fourni dans le message, en respectant les instructions de formatage.**
**Correction de l'erreur précédente :** La section `skillMarkdown` ci-dessus reprend le contenu original intégral du fichier SKILL.md, tel que fourni dans le message, sans ajout de sections inventées et en traduisant uniquement les éléments de prose (paragraphes, listes, en-têtes) vers le français, conformément aux règles de formatage spécifiées.
Le fichier `ooxml.md` et `html2pptx.md` sont référencés mais leur contenu n'est pas inclus dans le prompt original ; ils ne sont donc pas traduits ici.
(Fin de la traduction)