Creación, edición y análisis de PPTX
Resumen
Un usuario puede pedirte que crees, edites o analices el contenido de un archivo .pptx. Un archivo .pptx es esencialmente un archivo ZIP que contiene archivos XML y otros recursos que puedes leer o editar. Tienes diferentes herramientas y flujos de trabajo disponibles para diferentes tareas.
Lectura y análisis de contenido
Extracción de texto
Si solo necesitas leer el contenido textual de una presentación, debes convertir el documento a markdown:
# Convertir documento a markdown
python -m markitdown ruta-al-archivo.pptx
Acceso XML sin procesar
Necesitas acceso XML sin procesar para: comentarios, notas del orador, diseños de diapositivas, animaciones, elementos de diseño y formato complejo. Para cualquiera de estas características, necesitarás descomprimir una presentación y leer su contenido XML sin procesar.
Descomprimir un archivo
python ooxml/scripts/unpack.py <archivo_oficina> <directorio_salida>
Nota: El script unpack.py está ubicado en skills/pptx/ooxml/scripts/unpack.py relativo a la raíz del proyecto. Si el script no existe en esta ruta, usa find . -name "unpack.py" para localizarlo.
Estructuras clave de archivos
ppt/presentation.xml- Metadatos principales de la presentación y referencias a diapositivasppt/slides/slide{N}.xml- Contenido individual de diapositivas (slide1.xml, slide2.xml, etc.)ppt/notesSlides/notesSlide{N}.xml- Notas del orador para cada diapositivappt/comments/modernComment_*.xml- Comentarios para diapositivas específicasppt/slideLayouts/- Plantillas de diseño para diapositivasppt/slideMasters/- Plantillas maestras de diapositivasppt/theme/- Información de tema y estiloppt/media/- Imágenes y otros archivos multimedia
Extracción de tipografía y color
Cuando se te dé un diseño de ejemplo a emular: Siempre analiza primero la tipografía y los colores de la presentación usando los métodos siguientes:
- Lee el archivo de tema: Revisa
ppt/theme/theme1.xmlpara colores (<a:clrScheme>) y fuentes (<a:fontScheme>) - Muestra el contenido de la diapositiva: Examina
ppt/slides/slide1.xmlpara el uso real de fuentes (<a:rPr>) y colores - Busca patrones: Usa grep para encontrar referencias de color (
<a:solidFill>,<a:srgbClr>) y fuentes en todos los archivos XML
Crear una nueva presentación PowerPoint sin plantilla
Al crear una nueva presentación PowerPoint desde cero, usa el flujo de trabajo html2pptx para convertir diapositivas HTML a PowerPoint con posicionamiento preciso.
Principios de diseño
CRÍTICO: Antes de crear cualquier presentación, analiza el contenido y elige elementos de diseño apropiados:
- Considera el tema: ¿De qué trata esta presentación? ¿Qué tono, industria o estado de ánimo sugiere?
- Verifica la marca: Si el usuario menciona una empresa/organización, considera sus colores e identidad de marca
- Combina la paleta con el contenido: Selecciona colores que reflejen el tema
- Expón tu enfoque: Explica tus decisiones de diseño antes de escribir código
Requisitos:
- ✅ Expón tu enfoque de diseño basado en el contenido ANTES de escribir código
- ✅ Usa solo fuentes seguras para web: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact
- ✅ Crea una jerarquía visual clara mediante tamaño, peso y color
- ✅ Asegura legibilidad: fuerte contraste, texto de tamaño apropiado, alineación limpia
- ✅ Sé consistente: repite patrones, espaciado y lenguaje visual en todas las diapositivas
Selección de paleta de colores
Elegir colores de forma creativa:
- Piensa más allá de lo predeterminado: ¿Qué colores realmente combinan con este tema específico? Evita elecciones automáticas.
- Considera múltiples ángulos: Tema, industria, estado de ánimo, nivel de energía, audiencia objetivo, identidad de marca (si se menciona)
- Sé aventurero: Prueba combinaciones inesperadas - una presentación de salud no tiene que ser verde, las finanzas no tienen que ser azul marino
- Construye tu paleta: Elige 3-5 colores que funcionen juntos (colores dominantes + tonos de apoyo + acento)
- Asegura contraste: El texto debe ser claramente legible sobre los fondos
Paletas de colores de ejemplo (úsalas para inspirarte - elige una, adáptala o crea la tuya propia):
- Azul clásico: Azul marino (#1C2833), gris pizarra (#2E4053), plata (#AAB7B8), blanco roto (#F4F6F6)
- Verde azulado y coral: Verde azulado (#5EA8A7), verde azulado oscuro (#277884), coral (#FE4447), blanco (#FFFFFF)
- Rojo intenso: Rojo (#C0392B), rojo brillante (#E74C3C), naranja (#F39C12), amarillo (#F1C40F), verde (#2ECC71)
- Rubor cálido: Malva (#A49393), rubor (#EED6D3), rosa (#E8B4B8), crema (#FAF7F2)
- Lujo burdeos: Burdeos (#5D1D2E), carmesí (#951233), óxido (#C15937), dorado (#997929)
- Púrpura intenso y esmeralda: Púrpura (#B165FB), azul oscuro (#181B24), esmeralda (#40695B), blanco (#FFFFFF)
- Crema y verde bosque: Crema (#FFE1C7), verde bosque (#40695B), blanco (#FCFCFC)
- Rosa y púrpura: Rosa (#F8275B), coral (#FF574A), rosa (#FF737D), púrpura (#3D2F68)
- Lima y ciruela: Lima (#C5DE82), ciruela (#7C3A5F), coral (#FD8C6E), azul grisáceo (#98ACB5)
- Negro y dorado: Dorado (#BF9A4A), negro (#000000), crema (#F4F6F6)
- Salvia y terracota: Salvia (#87A96B), terracota (#E07A5F), crema (#F4F1DE), carbón (#2C2C2C)
- Carbón y rojo: Carbón (#292929), rojo (#E33737), gris claro (#CCCBCB)
- Naranja vibrante: Naranja (#F96D00), gris claro (#F2F2F2), carbón (#222831)
- Verde bosque: Negro (#191A19), verde (#4E9F3D), verde oscuro (#1E5128), blanco (#FFFFFF)
- Arcoíris retro: Púrpura (#722880), rosa (#D72D51), naranja (#EB5C18), ámbar (#F08800), dorado (#DEB600)
- Vintage tierra: Mostaza (#E3B448), salvia (#CBD18F), verde bosque (#3A6B35), crema (#F4F1DE)
- Rosa costero: Rosa viejo (#AD7670), castor (#B49886), cáscara de huevo (#F3ECDC), gris ceniza (#BFD5BE)
- Naranja y turquesa: Naranja claro (#FC993E), turquesa grisáceo (#667C6F), blanco (#FCFCFC)
Opciones de detalles visuales
Patrones geométricos:
- Divisores de sección diagonales en lugar de horizontales
- Anchos de columna asimétricos (30/70, 40/60, 25/75)
- Encabezados de texto rotados a 90° o 270°
- Marcos circulares/hexagonales para imágenes
- Formas triangulares de acento en esquinas
- Formas superpuestas para profundidad
Tratamientos de bordes y marcos:
- Bordes gruesos de un solo color (10-20pt) en un solo lado
- Bordes de línea doble con colores contrastantes
- Soporte de esquinas en lugar de marcos completos
- Marcos en forma de L (superior+izquierdo o inferior+derecho)
- Acentos subrayados debajo de encabezados (3-5pt de grosor)
Tratamientos de tipografía:
- Contraste de tamaño extremo (titulares de 72pt vs cuerpo de 11pt)
- Encabezados en mayúsculas con espaciado amplio entre letras
- Secciones numeradas en tipo de visualización sobredimensionado
- Monoespaciado (Courier New) para datos/estadísticas/contenido técnico
- Fuentes condensadas (Arial Narrow) para información densa
- Texto con contorno para énfasis
Estilo de gráficos y datos:
- Gráficos monocromáticos con un solo color de acento para datos clave
- Gráficos de barras horizontales en lugar de verticales
- Gráficos de puntos en lugar de gráficos de barras
- Sin líneas de cuadrícula o mínimas
- Etiquetas de datos directamente en los elementos (sin leyendas)
- Números sobredimensionados para métricas clave
Innovaciones de diseño:
- Imágenes a toda página con superposiciones de texto
- Columna lateral (20-30% de ancho) para navegación/contexto
- Sistemas de cuadrícula modular (3×3, 4×4 bloques)
- Flujo de contenido en patrón Z o F
- Cuadros de texto flotantes sobre formas coloreadas
- Diseños de varias columnas estilo revista
Tratamientos de fondo:
- Bloques de color sólido ocupando 40-60% de la diapositiva
- Rellenos degradados (verticales o diagonales solamente)
- Fondos divididos (dos colores, diagonal o vertical)
- Bandas de color de borde a borde
- Espacio negativo como elemento de diseño
Consejos de diseño
Al crear diapositivas con gráficos o tablas:
- Diseño de dos columnas (PREFERIDO): Usa un encabezado que ocupe todo el ancho, luego dos columnas debajo - texto/viñetas en una columna y el contenido destacado en la otra. Esto proporciona mejor equilibrio y hace que los gráficos/tablas sean más legibles. Usa flexbox con anchos de columna desiguales (por ejemplo, división 40%/60%) para optimizar el espacio para cada tipo de contenido.
- Diseño de diapositiva completa: Deja que el contenido destacado (gráfico/tabla) ocupe toda la diapositiva para máximo impacto y legibilidad
- NUNCA apiles verticalmente: No coloques gráficos/tablas debajo del texto en una sola columna - esto causa mala legibilidad y problemas de diseño
Flujo de trabajo
- OBLIGATORIO - LEE EL ARCHIVO COMPLETO: Lee
html2pptx.mdcompletamente de principio a fin. NUNCA establezcas límites de rango al leer este archivo. Lee el contenido completo del archivo para conocer la sintaxis detallada, reglas críticas de formato y mejores prácticas antes de proceder con la creación de la presentación. - Crea un archivo HTML para cada diapositiva con las dimensiones adecuadas (por ejemplo, 720pt × 405pt para 16:9)
- Usa
<p>,<h1>-<h6>,<ul>,<ol>para todo el contenido textual - Usa
class="placeholder"para áreas donde se agregarán gráficos/tablas (renderiza con fondo gris para visibilidad) - CRÍTICO: Rasteriza degradados e iconos como imágenes PNG PRIMERO usando Sharp, luego haz referencia en HTML
- DISEÑO: Para diapositivas con gráficos/tablas/imágenes, usa diseño de diapositiva completa o diseño de dos columnas para mejor legibilidad
- Usa
- Crea y ejecuta un archivo JavaScript usando la librería
html2pptx.jspara convertir diapositivas HTML a PowerPoint y guardar la presentación- Usa la función
html2pptx()para procesar cada archivo HTML - Agrega gráficos y tablas a las áreas de marcador de posición usando la API de PptxGenJS
- Guarda la presentación usando
pptx.writeFile()
- Usa la función
- Validación visual: Genera miniaturas e inspecciona en busca de problemas de diseño
- Crear cuadrícula de miniaturas:
python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 - Lee y examina cuidadosamente la imagen en miniatura para:
- Texto cortado: Texto cortado por barras de encabezado, formas o bordes de diapositiva
- Superposición de texto: Texto superpuesto con otro texto o formas
- Problemas de posicionamiento: Contenido demasiado cerca de los límites de la diapositiva u otros elementos
- Problemas de contraste: Contraste insuficiente entre el texto y los fondos
- Si se encuentran problemas, ajusta márgenes/espaciado/colores HTML y regenera la presentación
- Repite hasta que todas las diapositivas sean visualmente correctas
- Crear cuadrícula de miniaturas:
Editar una presentación PowerPoint existente
Al editar diapositivas en una presentación PowerPoint existente, necesitas trabajar con el formato Office Open XML (OOXML) sin procesar. Esto implica descomprimir el archivo .pptx, editar el contenido XML y volver a empaquetarlo.
Flujo de trabajo
- OBLIGATORIO - LEE EL ARCHIVO COMPLETO: Lee
ooxml.md(~500 líneas) completamente de principio a fin. NUNCA establezcas límites de rango al leer este archivo. Lee el contenido completo del archivo para obtener orientación detallada sobre la estructura OOXML y los flujos de trabajo de edición antes de cualquier edición de presentación. - Descomprime la presentación:
python ooxml/scripts/unpack.py <archivo_oficina> <directorio_salida> - Edita los archivos XML (principalmente
ppt/slides/slide{N}.xmly archivos relacionados) - CRÍTICO: Valida inmediatamente después de cada edición y corrige cualquier error de validación antes de continuar:
python ooxml/scripts/validate.py <directorio> --original <archivo> - Empaqueta la presentación final:
python ooxml/scripts/pack.py <directorio_entrada> <archivo_oficina>
Crear una nueva presentación PowerPoint usando una plantilla
Cuando necesitas crear una presentación que siga el diseño de una plantilla existente, deberás duplicar y reorganizar las diapositivas de la plantilla antes de reemplazar el contenido del marcador de posición.
Flujo de trabajo
-
Extrae texto de la plantilla Y crea una cuadrícula visual de miniaturas:
- Extrae texto:
python -m markitdown plantilla.pptx > contenido-plantilla.md - Lee
contenido-plantilla.md: Lee el archivo completo para entender el contenido de la presentación de plantilla. NUNCA establezcas límites de rango al leer este archivo. - Crea cuadrículas de miniaturas:
python scripts/thumbnail.py plantilla.pptx - Consulta la sección Creación de cuadrículas de miniaturas para más detalles
- Extrae texto:
-
Analiza la plantilla y guarda el inventario en un archivo:
- Análisis visual: Revisa la(s) cuadrícula(s) de miniaturas para entender los diseños de diapositivas, patrones de diseño y estructura visual
- Crea y guarda un archivo de inventario de plantilla en
inventario-plantilla.mdque contenga:# Análisis de inventario de plantilla **Diapositivas totales: [recuento]** **IMPORTANTE: Las diapositivas tienen índice 0 (primera diapositiva = 0, última diapositiva = recuento-1)** ## [Nombre de categoría] - Diapositiva 0: [Código de diseño si está disponible] - Descripción/propósito - Diapositiva 1: [Código de diseño] - Descripción/propósito - Diapositiva 2: [Código de diseño] - Descripción/propósito [... CADA diapositiva debe enumerarse individualmente con su índice ...] - Usando la cuadrícula de miniaturas: Haz referencia a las miniaturas visuales para identificar:
- Patrones de diseño (diapositivas de título, diseños de contenido, divisores de sección)
- Ubicaciones y recuentos de marcadores de posición de imágenes
- Consistencia de diseño en grupos de diapositivas
- Jerarquía visual y estructura
- Este archivo de inventario es REQUERIDO para seleccionar plantillas apropiadas en el siguiente paso
-
Crea el esquema de la presentación basado en el inventario de la plantilla:
- Revisa las plantillas disponibles del paso 2.
- Elige una plantilla de introducción o título para la primera diapositiva. Esta debe ser una de las primeras plantillas.
- Elige diseños seguros basados en texto para las otras diapositivas.
- CRÍTICO: Combina la estructura del diseño con el contenido real:
- Diseños de una columna: Úsalos para una narrativa unificada o un solo tema
- Diseños de dos columnas: Úsalos SOLO cuando tengas exactamente 2 elementos/conceptos distintos
- Diseños de tres columnas: Úsalos SOLO cuando tengas exactamente 3 elementos/conceptos distintos
- Diseños de imagen + texto: Úsalos SOLO cuando tengas imágenes reales para insertar
- Diseños de cita: Úsalos SOLO para citas reales de personas (con atribución), nunca para énfasis
- Nunca uses diseños con más marcadores de posición de los que tienes contenido
- Si tienes 2 elementos, no los fuerces en un diseño de 3 columnas
- Si tienes 4+ elementos, considera dividirlos en varias diapositivas o usar un formato de lista
- Cuenta tus piezas de contenido reales ANTES de seleccionar el diseño
- Verifica que cada marcador de posición en el diseño elegido se llenará con contenido significativo
- Selecciona una opción que represente el mejor diseño para cada sección de contenido.
- Guarda
esquema.mdcon el contenido Y la asignación de plantillas que aproveche los diseños disponibles - Ejemplo de asignación de plantillas: