"""Extract PDF text and inspect sample PPT structure for India AI Buildathon.""" import sys from pathlib import Path ROOT = Path(__file__).resolve().parent.parent PPT_DIR = ROOT / "PPT" PDF_PATH = PPT_DIR / "Presentation Format_ India AI Impact Buildathon.pdf" SAMPLE_PPT = PPT_DIR / "India AI Impact Buildathon - Sample PPT.pptx" OUT_TXT = PPT_DIR / "presentation_format_extracted.txt" def extract_pdf(): from pypdf import PdfReader if not PDF_PATH.exists(): print("PDF not found:", PDF_PATH) return "" reader = PdfReader(str(PDF_PATH)) lines = [] for i, page in enumerate(reader.pages): text = page.extract_text() if text: lines.append(f"--- Page {i+1} ---\n{text}") out = "\n".join(lines) OUT_TXT.write_text(out, encoding="utf-8") print("PDF extracted to", OUT_TXT) return out def inspect_ppt(): from pptx import Presentation from pptx.util import Inches, Pt if not SAMPLE_PPT.exists(): print("Sample PPT not found:", SAMPLE_PPT) return prs = Presentation(str(SAMPLE_PPT)) info = ["Slides: %d" % len(prs.slides)] for i, slide in enumerate(prs.slides): info.append("\n--- Slide %d ---" % (i + 1)) for shape in slide.shapes: if hasattr(shape, "text") and shape.text.strip(): info.append(" [%s] %s" % (shape.shape_type, shape.text.strip()[:80])) result = "\n".join(info) (PPT_DIR / "sample_ppt_structure.txt").write_text(result, encoding="utf-8") print("Template structure written to sample_ppt_structure.txt") print(result) if __name__ == "__main__": extract_pdf() inspect_ppt()