Export PowerPoint
Certains destinataires ont besoin d’un fichier PowerPoint qu’ils peuvent modifier. L’extension produit un .pptx éditable et fidèle au thème : les textes, images et tableaux sont de vrais objets PowerPoint, placés là où le thème les affiche.
L’export va dans un seul sens : une fois dans PowerPoint, la présentation ne revient pas dans Marp. Il sert à transmettre un fichier propre, pas à éditer dans les deux outils.
Exporter
- Ouvrir une présentation Marp.
- Palette de commandes → DWA : exporter un PowerPoint éditable (.pptx).
- Choisir le fichier de destination.
L’export prend le contenu actuel de l’éditeur, même non enregistré. Il fonctionne localement, sans service externe ni modèle d’IA, et nécessite un dossier de confiance.
Tous les thèmes Core v1
L’export ne connaît aucun thème à l’avance. Il fonctionne avec tout CSS qui respecte le contrat Core v1, c’est-à-dire qui passe le validateur : le thème DWA, un thème publié sur le portail ou un thème local. Couleurs, marges, tailles et polices viennent du thème lui-même.
Comment ça marche
- La présentation est rendue par Marp avec le CSS du thème, dans le Chrome, Chromium ou Edge de la machine (le même que pour la mesure des débordements, réglage
dwa.overflow.browserPath). - Chaque bloc de texte est relevé avec sa position, sa police, sa taille, sa graisse, sa couleur, son interligne et ses liens. Il devient une zone de texte PowerPoint à la même place.
- Les images du contenu deviennent des images PowerPoint, avec le même recadrage. Les tableaux deviennent des tableaux natifs : largeurs de colonnes, hauteurs de lignes, fonds et bordures de cellules.
- Le reste, c’est-à-dire le décor du thème (fonds, cartes, filets, puces, numéros de timeline, pagination), est capturé seul, en double résolution, et devient l’image de fond de la slide. N’importe quel effet CSS du décor (dégradé, pseudo-élément, transformation) est donc reproduit à l’identique.
- Les polices incorporées dans le thème (
@font-faceen base64) sont intégrées au fichier PowerPoint, sous le nom de famille du CSS. - Les commentaires de slide deviennent les notes de l’orateur.
Ce qui devient modifiable
| Dans le Markdown | Dans PowerPoint |
|---|---|
| Titres, paragraphes, éléments de liste, liens, gras, italique | Zones de texte modifiables, à la police et la couleur du thème |
| Tableaux Markdown | Tableaux PowerPoint natifs |
Images locales (PNG, JPEG, GIF, SVG), y compris ![bg] | Images incorporées, remplaçables |
| Décor du thème, puces et numéros dessinés en CSS | Image de fond de la slide |
| Commentaires | Notes de l’orateur |
Fidélité mesurée
L’export a été comparé pixel par pixel dans Microsoft PowerPoint, sur toutes les compositions du catalogue :
- positions, tailles, couleurs, images et décor : identiques ;
- position verticale du texte : 0 à 2 px d’écart. PowerPoint et le navigateur ne placent pas le texte de la même façon dans la hauteur de ligne ; l’export compense la différence avec les mesures de la police ;
- retours à la ligne : identiques avec la police intégrée. Une marge de sécurité de 2 % sur la largeur évite qu’un mot passe à la ligne pour un pixel.
Une fois le fichier ouvert, la mise en page est figée, comme dans tout PowerPoint : ajouter une colonne ne réorganise pas les autres.
Polices
- Les polices sont intégrées seulement si le thème les incorpore. Une police seulement nommée (par exemple
font-family: Montserratsans@font-face) dépend de la machine : l’export le signale, avec la police réellement utilisée pour les mesures. - Une police dont la licence interdit l’intégration n’est pas incluse. Une police « affichage seulement » est incluse avec un avertissement.
- Les polices variables ne sont affichées qu’avec une seule graisse dans PowerPoint : fournir un fichier par graisse dans le thème.
- PowerPoint Windows et Mac (depuis 2019) affichent les polices intégrées. Google Slides et Keynote les ignorent et utilisent les leurs.
Ce qui n’est pas reproduit en objets modifiables
- Le texte avec un effet sans équivalent PowerPoint (pivoté, vertical, peint par un fond) reste dans l’image de fond. Le validateur refuse ces effets dans les thèmes publiés (
contract.text-effect). - Les formules mathématiques restent des images.
- Les images WebP et AVIF restent dans l’image de fond.
- Les images distantes (URL) ne sont pas téléchargées.
- Les vidéos, le HTML interactif et les animations.
Sans navigateur
Si aucun navigateur n’est trouvé, l’export bascule sur une version estimée : placement calculé à partir de la géométrie du Core DWA, palettes DWA, polices non intégrées. Le rapport l’indique en premier avertissement.
Le rapport d’export
Le canal Sortie → DWA Slides détaille l’export : polices absentes ou non intégrables, images absentes, distantes ou non prises en charge, textes conservés en image.
Réutilisable hors de VS Code
Le moteur d’export (src/export/) n’importe rien de VS Code : renderPptx produit le fichier complet, polices comprises. Il est réutilisable par une future ligne de commande ou par le serveur MCP.