O que pptx-generator faz?
Gere, edite e leia apresentações do PowerPoint. Crie do zero com PptxGenJS (capa, sumário, conteúdo, divisores de seção, slides de resumo), edite PPTX existentes via fluxos XML ou extraia texto com markitdown. Gatilhos: PPT, PPTX, PowerPoint, apresentação, slide, deck, slides.
Como usar
Criar uma nova apresentação do zero
Para criar uma apresentação do zero, use a biblioteca PptxGenJS. O fluxo padrão é:
- Defina a estrutura da apresentação (slides, layout, conteúdo)
- Use funções específicas para cada tipo de slide (capa, sumário, conteúdo, etc.)
- Exporte o arquivo
.pptxgerado
Exemplo básico:
const pptxgen = require('pptxgenjs');
let pres = new pptxgen();
pres.layout = 'LAYOUT_WIDE';
// Slide de capa
let slide = pres.addSlide();
slide.addText('Título da Apresentação', { x: 1, y: 1, fontSize: 36, color: '363636' });
slide.addText('Subtítulo', { x: 1, y: 2, fontSize: 18, color: '767171' });
pres.writeFile({ fileName: 'apresentacao.pptx' });
Editar um PPTX existente via XML
Para editar um arquivo .pptx existente:
- Descompacte o arquivo PPTX (na verdade é um ZIP com XMLs)
- Modifique os arquivos XML relevantes (como
slide1.xml,slide2.xml) - Recompacte tudo em um novo arquivo
.pptx
Exemplo de fluxo:
# Descompactar
unzip apresentacao.pptx -d ./temp_pptx
# Editar (exemplo com sed, mas pode ser feito com Node.js/xml2js)
sed -i 's/texto_antigo/novo_texto/g' ./temp_pptx/ppt/slides/slide1.xml
# Recompactar
cd ./temp_pptx && zip -r ../apresentacao_editada.pptx ./*
Extrair texto de uma apresentação
Use a ferramenta markitdown (ou bibliotecas npm como mammoth para DOCX, mas para PPTX pode-se usar pptx2md ou simplesmente descompactar e ler os XMLs):
pip install markitdown
markitdown apresentacao.pptx > texto_extraido.md
Ou programaticamente com Node.js:
const fs = require('fs');
const { parseString } = require('xml2js');
// Exemplo: ler texto de slide1.xml
const xml = fs.readFileSync('./temp_pptx/ppt/slides/slide1.xml', 'utf-8');
parseString(xml, (err, result) => {
// Extrair texto dos elementos <a:t>
});
Gatilhos (Triggers)
A skill pode ser invocada quando você menciona:
- PPT
- PPTX
- PowerPoint
- apresentação (presentation)
- slide
- deck
- slides
Tipos de slide suportados
| Tipo | Descrição |
|---|---|
| Capa (Cover) | Slide inicial com título e opções de subtítulo |
| Sumário (TOC) | Índice com lista de seções |
| Conteúdo (Content) | Slides principais com texto, listas, imagens, tabelas |
| Divisor de seção | Slide de transição entre seções |
| Resumo (Summary) | Slide final com conclusões ou próximos passos |
Notas
- A skill não depende de APIs externas; tudo é processado localmente.
- Para edição avançada de XML, considere usar
xml2jsoufast-xml-parser. - O PptxGenJS suporta muitos layouts e estilos; consulte a documentação oficial para detalhes.