---
nome: Apresentação PowerPoint
descricao: gerar um .pptx editável (PowerPoint, Keynote, Google Slides) com python-pptx, e conferir slide por slide
quando: pptx, powerpoint, power point, keynote, google slides, apresentação editável, slides editáveis
autor: PrimoCode
---
Primeiro a pergunta certa: a pessoa precisa EDITAR depois, ou só apresentar?
Só apresentar → o Estúdio faz slides com mais liberdade visual e entrega em PDF
(`estudio_projeto` formato "slides"). Precisa abrir no PowerPoint, no Keynote ou
no Google Slides e mexer → .pptx, com `python-pptx`.

**1. Prepare.** `python3 -m venv .venv && .venv/bin/pip install python-pptx`, e um
script (`gerar_slides.py`) que dá para rodar de novo a cada ajuste.

**2. Tamanho 16:9 e layout em branco.** O padrão da biblioteca é 4:3.
```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
prs = Presentation()
prs.slide_width, prs.slide_height = Inches(13.333), Inches(7.5)
s = prs.slides.add_slide(prs.slide_layouts[6])        # 6 = em branco
caixa = s.shapes.add_textbox(Inches(0.8), Inches(0.8), Inches(11.7), Inches(1.5))
p = caixa.text_frame.paragraphs[0]
p.text = 'O custo dobrou em seis meses'
p.font.size, p.font.bold = Pt(44), True
p.font.color.rgb = RGBColor(0x1A, 0x23, 0x32)
s.notes_slide.notes_text_frame.text = 'O que falar neste slide.'
prs.save('apresentacao.pptx')
```

**3. Regras que evitam o slide quebrado**
- O `python-pptx` NÃO encolhe texto que não cabe: ele vaza da caixa. Escreva
  curto, uma ideia por slide, e dê à caixa a altura do texto.
- Corpo com pelo menos 24pt; título entre 36 e 54pt.
- Fonte que a outra máquina tem (Arial, Calibri, Georgia, Helvetica). O .pptx
  não leva a fonte junto: a que falta é trocada e o texto muda de tamanho.
- Margem de 0,6 polegada em volta, e a mesma posição de título em todo slide.
- Imagem com `s.shapes.add_picture('foto.jpg', x, y, width=...)`: dê só a
  largura, para ela não esticar.
- O que a pessoa vai FALAR vai nas notas, não no slide.

O conteúdo segue as regras da skill de slides: título que afirma, uma ideia por
slide, dado com fonte.

**4. Confira antes de entregar.**
- Reabra com `Presentation('apresentacao.pptx')` e imprima o número de slides e
  o título de cada um.
- Com LibreOffice: `soffice --headless --convert-to pdf apresentacao.pptx`,
  abra o PDF e OLHE cada página. Texto vazando da caixa, imagem cortada e slide
  vazio só aparecem assim.
- Diga à pessoa que o Google Slides abre o .pptx por Arquivo → Importar.
