# EXPORTAR PPTX

Workflow pra converter o HTML interativo em arquivo `.pptx` (PowerPoint/Keynote) que Tata pode mandar pra mentoradas editarem.

---

## CONTEXTO

O `deck-stage.js` ja tem suporte nativo a `noscale` attribute + `@media print` — issue produz **PDF perfeito 1-pagina-por-slide** direto do browser (Ctrl+P → Salvar como PDF).

PPTX e mais complicado porque PowerPoint nao renderiza HTML/CSS direto. Existem 3 abordagens, em ordem de complexidade:

---

## ABORDAGEM 1: Print → PDF → Conversor online (RECOMENDADA)

**Tempo:** 2 minutos. **Qualidade:** alta. **Sem codigo.**

Passos:

1. Abre o HTML no Chrome
2. Pressiona `Ctrl/Cmd+P`
3. Configura:
   - Destino: **Salvar como PDF**
   - Layout: **Paisagem**
   - Margens: **Nenhuma**
   - Escala: **100%** (ou "Default")
   - Mais configuracoes → Tamanho do papel: **Personalizado 1920×1080** (ou A3 paisagem)
   - Marcar **Background graphics**
4. Salva como `{nome-aula}.pdf`
5. Abre **pdf2pptx.com** ou **smallpdf.com/pdf-to-ppt** (gratis)
6. Faz upload do PDF
7. Baixa o `.pptx`

**Limitacao:** as animacoes nao sao preservadas (ficam slides estaticos). Cada slide vira 1 imagem dentro do .pptx. Mas o visual e fiel.

---

## ABORDAGEM 2: Chamar a skill `/pptx` (que ja existe no arsenal)

**Tempo:** 1-2 min. **Qualidade:** media. **Precisa skill instalada.**

A skill `/pptx` (built-in do Claude Code) abre, le e edita arquivos PowerPoint. Workflow:

1. Roda primeiro Abordagem 1 (gera o .pptx-base via conversor online)
2. Chama `/pptx` no arquivo `.pptx-base`
3. Pede pra `/pptx` ajustar textos editaveis dentro do PowerPoint (transforma imagens em campos de texto se possivel)
4. Salva resultado

Vantagem: arquivos editaveis pelos mentorados. Desvantagem: dependendo da complexidade, alguns elementos viram so imagem mesmo.

---

## ABORDAGEM 3: Script Python com python-pptx (DEV)

**Tempo:** 10-30 min de setup. **Qualidade:** alta + editavel. **Mais trabalho.**

So usa essa abordagem se Tata pedir explicitamente "preciso PPTX 100% editavel onde cada texto e um text-box".

```bash
pip install python-pptx pillow
```

Script base (gerar `scripts/html-to-pptx.py` se necessario):

```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor

# Tamanho: 1920×1080 (16:9 widescreen)
prs = Presentation()
prs.slide_width = Inches(20)  # 1920px @ 96dpi
prs.slide_height = Inches(11.25)  # 1080px

# Por slide:
slide = prs.slides.add_slide(prs.slide_layouts[6])  # blank layout

# Background
bg = slide.background
fill = bg.fill
fill.solid()
fill.fore_color.rgb = RGBColor(0x0E, 0x1B, 0x2E)  # navy

# Adicionar text-boxes equivalentes a cada elemento HTML
# ... requer parser do HTML pra extrair posicoes/textos

prs.save('output.pptx')
```

**Realidade:** essa abordagem da muito trabalho. So vale pena se for fazer batch de 50+ decks. Pra 1-3 decks, **Abordagem 1 e a melhor**.

---

## DECISAO DEFAULT DA SKILL

Quando Tata pedir "exporta PPTX" sem especificar como, **default e Abordagem 1**:

1. Skill abre o HTML no browser (ja deve ter rodado `open` antes)
2. Skill instrui Tata: "Pressiona Cmd+P, salva como PDF paisagem sem margens"
3. Skill instrui: "Abre pdf2pptx.com (ou smallpdf), upload do PDF, baixa o .pptx"
4. Skill confirma: "Salva o .pptx em ~/Documents/Obsidian Vault/03 - Projetos/Slides-{nome}/"

Se Tata quiser Abordagem 3 (editavel), ela pede explicito e a skill avisa que vai demorar mais.

---

## ALTERNATIVA NATIVA — PDF perfeito

Pra **maioria dos casos**, Tata so quer **PDF** pra apresentar/imprimir. O HTML+deck-stage.js ja faz isso nativamente:

```
1. Abre HTML no Chrome
2. Cmd+P
3. Salva como PDF (paisagem, sem margens, com bg graphics)
4. Pronto — PDF perfeito 1-pagina-por-slide
```

Se Tata so falar "exporta", **perguntar primeiro:**

```
PDF (rapido, 30s) ou PPTX editavel (3-5 min, via conversor)?
```

---

## SCRIPT HELPER (opcional)

Se Tata fizer isso muitas vezes, vale criar atalho:

```bash
# Adiciona em ~/.zshrc
function deck-pdf() {
  local html="$1"
  local pdf="${html%.html}.pdf"
  # macOS: usa Chrome em modo headless pra gerar PDF
  "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --headless \
    --disable-gpu \
    --print-to-pdf="$pdf" \
    --no-pdf-header-footer \
    --print-to-pdf-no-header \
    --hide-scrollbars \
    "file://$(pwd)/$html"
  echo "PDF gerado: $pdf"
}

# Uso: deck-pdf "Rotinas no Claude Code.html"
```

Com isso, basta rodar `deck-pdf nome.html` no terminal e o PDF sai automatico (sem abrir browser).
