from pptx import Presentation def parse_slides(file_path): prs = Presentation(file_path) slides = [] for i, slide in enumerate(prs.slides): text_parts = [] for shape in slide.shapes: if hasattr(shape, "text"): txt = shape.text.strip() if txt: text_parts.append(txt) slides.append({ "index": i + 1, "text": "\n".join(text_parts) }) return slides