| name | html-to-pptx |
| description | Convert HTML to PowerPoint (PPTX) with excellent Hebrew/RTL support. Use when the user asks to 'convert HTML to PowerPoint', 'create presentation from HTML', 'generate PPTX', 'make slides from HTML', or needs to create PowerPoint presentations programmatically. |
| version | 1.0.0 |
| author | aviz85 |
| tags | ["powerpoint","pptx","conversion","html","rtl","hebrew","presentations"] |
| setup_complete | false |
| setup | ./SETUP.md |
HTML to PowerPoint Converter
First time? If setup_complete: false above, run ./SETUP.md first, then set setup_complete: true.
Convert HTML to PowerPoint (.pptx) with excellent Hebrew/RTL support using PptxGenJS.
Setup (One-time)
cd ~/.claude/skills/html-to-pptx && npm install
Quick Usage
Basic conversion:
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js input.html output.pptx
Hebrew document with RTL:
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html presentation.pptx --rtl
Convert URL to PowerPoint:
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js https://example.com slides.pptx
Complex HTML as images (pixel-perfect):
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js complex.html slides.pptx --mode=image
Conversion Modes
| Mode | Description | Best For |
|---|
text | Parse HTML, create native PPTX elements | Simple HTML, editable text |
image | Screenshot HTML, embed as images | Complex layouts, exact rendering |
auto | Auto-detect best mode | Default |
Options
| Option | Description | Default |
|---|
--mode=<mode> | text, image, auto | auto |
--rtl | Force RTL for Hebrew/Arabic | auto-detect |
--title=<title> | Presentation title | auto |
--author=<author> | Author name | AVIZ |
--layout=<layout> | LAYOUT_16x9, LAYOUT_4x3 | LAYOUT_16x9 |
--font=<font> | Default font | Heebo (Hebrew) / Arial |
--font-size=<size> | Font size in points | 18 |
--background=<color> | Background color (hex) | - |
--slide-per=<selector> | Split slides by CSS selector | - |
--wait=<ms> | Wait for rendering (image mode) | 2000 |
Examples
Hebrew presentation:
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html slides.pptx --rtl --font=Heebo
Split by sections:
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --slide-per=section
Custom styling:
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --font=David --font-size=24 --background=F5F5F5
Pipe HTML:
echo "<h1>ืฉืืื ืขืืื</h1>" | node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js - output.pptx --rtl
Hebrew Best Practices
- Use
<html lang="he" dir="rtl"> in HTML
- Always add
--rtl flag
- Use Hebrew-supporting fonts: Heebo, David, Noto Sans Hebrew
- For complex layouts, use
--mode=image for pixel-perfect results
Slide Structure
The converter auto-detects slide boundaries:
<section> elements
<article> elements
.slide class
<hr> elements
Or use --slide-per=".my-slide" for custom selectors.