from typing import List, Tuple from pypdf import PdfReader def extract_text_from_pdf(pdf_path: str) -> Tuple[str, int]: """Extract text and return (text, total_pages).""" reader = PdfReader(pdf_path) texts: List[str] = [] total = len(reader.pages) for i, page in enumerate(reader.pages, start=1): print(f"[INFO] Extracting text from page {i}/{total}...") try: txt = page.extract_text() or "" except Exception as e: print(f"[WARN] Failed to extract page {i}: {e}") txt = "" texts.append(txt) return "\n".join(texts), total