Problem
Text inside Word text boxes / floating shapes, and header/footer content, is currently not carried into the Markdown output (SRS §9 excludes layout preservation, but silent text loss is worse than lost placement).
Proposed direction
Pre-pass in src/docx2md/preprocess.py: locate w:txbxContent blocks in word/document.xml and inline their paragraphs into the document flow at the anchor position. Headers/footers (word/header*.xml) are lower value for wiki pages — likely skip, or emit once at top/bottom behind a flag.
Goal is "don't silently drop the text", not layout fidelity. Should emit a warning when such content is inlined (material-loss threshold, SRS-FR-018).
Acceptance
- New fixture containing a text box; its text appears in output with a warning.
- Decision recorded for headers/footers.
Problem
Text inside Word text boxes / floating shapes, and header/footer content, is currently not carried into the Markdown output (SRS §9 excludes layout preservation, but silent text loss is worse than lost placement).
Proposed direction
Pre-pass in
src/docx2md/preprocess.py: locatew:txbxContentblocks inword/document.xmland inline their paragraphs into the document flow at the anchor position. Headers/footers (word/header*.xml) are lower value for wiki pages — likely skip, or emit once at top/bottom behind a flag.Goal is "don't silently drop the text", not layout fidelity. Should emit a warning when such content is inlined (material-loss threshold, SRS-FR-018).
Acceptance