← ClaudeAtlas

html2pptxlisted

Convert a rendered HTML page (especially A0 conference posters) into a native PowerPoint .pptx with editable text + native shapes — NOT a PNG-in-slide. Walks the live DOM via headless chromium, extracts BLOCK-level text containers (p/h1-h6/li/td) as TextBoxes with inline <strong>/<em> as mixed-style Runs, <img> as Picture with object-fit:contain respected (plus white-tile decoration under transparent-PNG logos), CSS ::before/::after generated content (e.g. 'So what →' callouts) as inherited-style runs, SVG via cairosvg rasterization, decorative <div>/<section> with bg/border/gradient/box-shadow as Rectangle/RoundedRect with matching fill (solid + linear-gradient + outer shadow). All CSS colors (including color-mix/oklab/color()) normalized via canvas. CSS hyphens:auto becomes OOXML soft hyphens via pyphen. CSS line-height absolute Pt for paragraph spacing. Native OOXML bullets with hanging indent. Optional Claude-vision fidelity auditor runs by default (toggle with `--no-vision-audit`); diffs HTML truth vs PP
wookat/ai-research-skills · ★ 2 · Data & Documents · score 60
Install: claude install-skill wookat/ai-research-skills
# html2pptx Convert a rendered HTML page → native PowerPoint .pptx with **editable shapes** (not a PNG-in-slide). ## When to use - "Convert this HTML poster to PPT." - "I need an editable PowerPoint version of my HTML page." - "1:1 PPT clone of poster.html — fonts/colors/layout." - "Hand off the poster to a non-developer in PPT." ## When NOT to use - Need a flat PNG slide → use `paper2poster/demo/presentation/posters.pptx`. - HTML uses heavy JS animations / video → those don't translate to PPT shapes. - Math-heavy KaTeX content → math gets rasterized fallback (loses equation editability). ## Setup (one-time) ### 1. Python deps ```bash pip install python-pptx playwright pdf2image lxml Pillow pyphen cairosvg playwright install chromium # ~110MB headless browser ``` ### 2. soffice (for verification) ```bash # Linux: sudo apt install libreoffice-impress # Mac: brew install --cask libreoffice ``` ### 3. **Web fonts — CRITICAL for fidelity** (Read [GOTCHAS.md](./GOTCHAS.md#g1)) > **Default = Arial → you can skip this whole section.** Since the paper2poster > Arial default, posters render in **Arial** (or another PPT-safe family: Calibri, > Aptos, Cambria, Times New Roman, Verdana, Georgia, Trebuchet MS). Those are > pre-installed on every Mac + Windows PowerPoint, so you do **not** need the font > installs below and the `.pptx` is portable **without embedding**. The > Inter / Source Serif 4 / JetBrains Mono setup below applies **only** when the > poster was rendered w