Files
BSI-901-fpga-software/tmp/fpga_doc2/inspect_sources.py
T
2026-09-11 16:18:36 +08:00

25 lines
913 B
Python

from pathlib import Path
import sys
from docx import Document
from docx.oxml.ns import qn
def inspect_docx(path: Path) -> None:
doc = Document(path)
print(f"DOCX {path}\nparagraphs={len(doc.paragraphs)} tables={len(doc.tables)} shapes={len(doc.inline_shapes)}")
for i, para in enumerate(doc.paragraphs):
text = para.text.strip()
if text:
style = getattr(para.style, "name", "") or ""
drawings = para._p.xpath(".//w:drawing")
rels = para._p.xpath(".//a:blip/@r:embed")
print(f"P{i}|{style}|drawings={len(drawings)}|rels={','.join(rels)}|{text}")
for i, table in enumerate(doc.tables):
print(f"TABLE {i} {len(table.rows)}x{len(table.columns)}")
for row in table.rows:
print(" | ".join(cell.text.replace("\n", " / ") for cell in row.cells))
if __name__ == "__main__":
inspect_docx(Path(sys.argv[1]))