"""Quick probe of sample documents for chunking strategy planning.""" import re import zipfile from pathlib import Path DATA = Path(__file__).resolve().parent.parent / "data" def probe_docx(p: Path) -> None: with zipfile.ZipFile(p) as z: media = [n for n in z.namelist() if n.startswith("word/media/")] xml = z.read("word/document.xml").decode("utf-8", errors="ignore") headings = len(re.findall(r'w:pStyle w:val="Heading', xml)) tables = xml.count(" None: import fitz doc = fitz.open(p) imgs = sum(len(doc[i].get_images()) for i in range(len(doc))) text_len = sum(len(doc[i].get_text()) for i in range(len(doc))) print(f" pages: {len(doc)}, embedded_images: {imgs}, text_chars: {text_len}") doc.close() def probe_xlsx(p: Path) -> None: import openpyxl wb = openpyxl.load_workbook(p, read_only=True, data_only=True) print(f" sheets: {len(wb.sheetnames)} -> {wb.sheetnames[:5]}") for sn in wb.sheetnames[:2]: ws = wb[sn] print(f" {sn}: rows={ws.max_row}, cols={ws.max_column}") wb.close() def main() -> None: for p in sorted(DATA.iterdir()): if not p.is_file(): continue print(f"=== {p.name} ({p.stat().st_size} bytes) ===") ext = p.suffix.lower() try: if ext == ".docx": probe_docx(p) elif ext == ".pdf": probe_pdf(p) elif ext in (".xlsx", ".xls"): probe_xlsx(p) except Exception as e: print(f" ERROR: {e}") print() if __name__ == "__main__": main()