AgentSkillsCN

html-to-pptx

借助出色的希伯来语及 RTL 支持,将 HTML 转换为 PowerPoint(PPTX)。当用户提出“将 HTML 转换为 PowerPoint”“从 HTML 创建演示文稿”“生成 PPTX”“从 HTML 制作幻灯片”,或需要以程序化方式创建 PowerPoint 演示文稿时,可使用此技能。

SKILL.md
--- frontmatter
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)

bash
cd ~/.claude/skills/html-to-pptx && npm install

Quick Usage

Basic conversion:

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js input.html output.pptx

Hebrew document with RTL:

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html presentation.pptx --rtl

Convert URL to PowerPoint:

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js https://example.com slides.pptx

Complex HTML as images (pixel-perfect):

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js complex.html slides.pptx --mode=image

Conversion Modes

ModeDescriptionBest For
textParse HTML, create native PPTX elementsSimple HTML, editable text
imageScreenshot HTML, embed as imagesComplex layouts, exact rendering
autoAuto-detect best modeDefault

Options

OptionDescriptionDefault
--mode=<mode>text, image, autoauto
--rtlForce RTL for Hebrew/Arabicauto-detect
--title=<title>Presentation titleauto
--author=<author>Author nameAVIZ
--layout=<layout>LAYOUT_16x9, LAYOUT_4x3LAYOUT_16x9
--font=<font>Default fontHeebo (Hebrew) / Arial
--font-size=<size>Font size in points18
--background=<color>Background color (hex)-
--slide-per=<selector>Split slides by CSS selector-
--wait=<ms>Wait for rendering (image mode)2000

Examples

Hebrew presentation:

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js hebrew.html slides.pptx --rtl --font=Heebo

Split by sections:

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --slide-per=section

Custom styling:

bash
node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js doc.html slides.pptx --font=David --font-size=24 --background=F5F5F5

Pipe HTML:

bash
echo "<h1>שלום עולם</h1>" | node ~/.claude/skills/html-to-pptx/scripts/html-to-pptx.js - output.pptx --rtl

Hebrew Best Practices

  1. Use <html lang="he" dir="rtl"> in HTML
  2. Always add --rtl flag
  3. Use Hebrew-supporting fonts: Heebo, David, Noto Sans Hebrew
  4. For complex layouts, use --mode=image for pixel-perfect results

Slide Structure

The converter auto-detects slide boundaries:

  1. <section> elements
  2. <article> elements
  3. .slide class
  4. <hr> elements

Or use --slide-per=".my-slide" for custom selectors.