from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN
from pptx.dml.color import RGBColor

# Crear una nueva presentación
prs = Presentation()

# Función para agregar diapositivas con mapas conceptuales
def add_slide_with_concept_map(title, concepts):
    slide_layout = prs.slide_layouts[5]  # Usar el layout de título y contenido
    slide = prs.slides.add_slide(slide_layout)
    
    # Título de la diapositiva
    title_shape = slide.shapes.title
    title_shape.text = title
    
    # Agregar mapa conceptual
    left = Inches(0.5)
    top = Inches(1.5)
    width = Inches(9)
    height = Inches(4.5)
    
    txBox = slide.shapes.add_textbox(left, top, width, height)
    tf = txBox.text_frame
    p = tf.add_paragraph()
    p.text = title
    p.font.bold = True
    p.font.size = Pt(24)
    p.alignment = PP_ALIGN.CENTER
    
    for concept, subconcepts in concepts.items():
        p = tf.add_paragraph()
        p.text = concept
        p.font.size = Pt(18)
        p.font.bold = True
        for subconcept in subconcepts:
            p = tf.add_paragraph()
            p.text = f"- {subconcept}"
            p.font.size = Pt(16)
            p.level = 1

# Contenidos de las diapositivas
slides_content = {
    "Introducción a la Atlántida": {
        "¿Qué es la Atlántida?": [],
        "Origen del término": [],
        "Menciones históricas": []
    },
    "Historia y Origen del Mito": {
        "Platón y los Diálogos (Critias y Timeo)": [],
        "Contexto histórico": [],
        "Influencia en la antigüedad": []
    },
    "Principales Teorías y Ubicaciones": {
        "Ubicaciones propuestas": ["Mediterráneo", "Atlántico", "Caribe"],
        "Teorías principales": [],
        "Evidencias a favor y en contra": []
    },
    "Evidencias Arqueológicas": {
        "Descubrimientos relevantes": [],
        "Interpretaciones de hallazgos": [],
        "Controversias científicas": []
    },
    "Atlántida en la Cultura Popular": {
        "Representaciones en literatura": [],
        "Apariciones en cine y televisión": [],
        "Influencia en el arte y la música": []
    },
    "Conclusión": {
        "Resumen de puntos clave": [],
        "Reflexión final sobre la importancia del mito": []
    }
}

# Agregar las diapositivas a la presentación
for title, concepts in slides_content.items():
    add_slide_with_concept_map(title, concepts)

# Guardar la presentación
output_path = "/mnt/data/Atlantida_Presentation.pptx"
prs.save(output_path)

output_path

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: