Skip to content

FlowDoc

Defined in: src/core/ir/flow.ts:102

The semantic IR tree (ir-design §5): everything a reader extracts from the document bytes, format-neutrally — the flow body plus its document-scoped companions (styles, numbering, header/footer bands, notes, charts, binary resources, metadata). Caller-supplied conversion options (fonts, PDF/A profile, signature, …) are deliberately NOT part of the tree; they parameterize transforms, not the document.

body carries FINAL effective properties — readers materialize list markers and resolve the style cascade while building it — so render projections must not re-apply styles/numbering, which remain only as round-trip material.

readonly body: readonly BodyElement[]

Defined in: src/core/ir/flow.ts:106

The document flow content, carrying resolved, effective properties.


readonly optional charts?: ReadonlyMap<string, Chart>

Defined in: src/core/ir/flow.ts:126

Parsed charts keyed by relationship id (ChartBlock.chartRelId).


readonly optional comments?: ReadonlyMap<string, Comment>

Defined in: src/core/ir/flow.ts:124

§17.13.4 review comments by id, anchored from a run’s commentRef.


readonly optional compatibilityMode?: number

Defined in: src/core/ir/flow.ts:177

[MS-DOCX] w:compatSetting compatibilityMode — the version of Word whose layout the document asks for: 15 is Word 2013’s, which every Word since sets a new document by. Word opens a document that states none in Compatibility Mode, and forms there none of the OpenType ligatures its faces carry.


readonly optional doNotExpandShiftReturn?: boolean

Defined in: src/core/ir/flow.ts:152

ECMA-376 §17.15.1.35 w:doNotExpandShiftReturn — a justified line that ends at a soft line break keeps its natural width.


readonly optional embeddedFonts?: ReadonlyMap<string, FontRegistry>

Defined in: src/core/ir/flow.ts:130

Fonts embedded in the source document itself (docx fontTable), by name.


readonly optional endnotes?: ReadonlyMap<string, readonly BodyElement[]>

Defined in: src/core/ir/flow.ts:122


readonly optional faceFamilies?: ReadonlyMap<string, FaceFamily>

Defined in: src/core/ir/flow.ts:138

The family each face a run names belongs to, where the two are not the same name. A PDF names a FACE — Inter-SemiBold — where a word processor names a family and states the weight beside it (Inter, bold). The layout finds a document’s own program by the face; a writer that hands the text to another program names the family, which is the name that program knows.


readonly optional faceOutlines?: ReadonlyMap<string, FaceOutlines>

Defined in: src/core/ir/flow.ts:143

The outlines of the faces a run names, keyed as faceFamilies is — for a writer that embeds them (see FaceOutlines).


readonly optional floatsOverText?: true

Defined in: src/core/ir/flow.ts:191

The document’s front floats cover the text under them, as a spreadsheet’s drawings cover its cells: a note’s box hides the value beside its cell, and a chart the figures it sits on. Absent, the text is painted over them.


readonly optional footnotes?: ReadonlyMap<string, readonly BodyElement[]>

Defined in: src/core/ir/flow.ts:121

§17.11 footnotes/endnotes content by id (separator stubs excluded).


readonly optional gutterAtTop?: boolean

Defined in: src/core/ir/flow.ts:169

ECMA-376 §17.15.1.38 w:gutterAtTop — the binding space w:pgMar @w:gutter reserves belongs to the TOP margin rather than the left.


readonly optional headersFooters?: ReadonlyMap<string, readonly BodyElement[]>

Defined in: src/core/ir/flow.ts:119


readonly optional info?: DocumentInfo

Defined in: src/core/ir/flow.ts:145

Document metadata from docProps/core.xml.


readonly kind: "flow"

Defined in: src/core/ir/flow.ts:104

Discriminant for SourceDoc (a FlowDoc passes through projection).


readonly optional language?: string

Defined in: src/core/ir/flow.ts:147

Document natural language hint (BCP-47), e.g. for tagged-PDF /Lang.


readonly optional numbering?: Numbering

Defined in: src/core/ir/flow.ts:118

Raw numbering definitions (round-trip material). body already carries the materialized list markers — readers apply numbering as a FlowDoc transform, so render projections must not re-apply it.


readonly optional pageBackgroundColorHex?: string

Defined in: src/core/ir/flow.ts:158

ECMA-376 §17.2.1 w:background — the colour every page is painted, when the document asks for one AND §17.15.1.28 w:displayBackgroundShape says to draw it.


readonly optional pageBackgroundFill?: ShapeFill

Defined in: src/core/ir/flow.ts:164

ECMA-376 §17.2.1 — the same background as the FILL it is, when that is more than a flat colour: the v:background’s gradient or picture. The colour above stays the flat fallback, for writers that paint only colours.


readonly resources: ResourceStore

Defined in: src/core/ir/flow.ts:128

Content-addressed binary resources (images).


readonly optional section?: SectionProperties

Defined in: src/core/ir/flow.ts:110

Single-section page geometry (xlsx print setup).


readonly sections: readonly Section[]

Defined in: src/core/ir/flow.ts:108

Multi-section page geometry (docx). Empty for single-geometry sources.


readonly styles: StyleSheet

Defined in: src/core/ir/flow.ts:112

Resolved style sheet, kept as round-trip material (already folded into body).


readonly optional typesetBy?: "word"

Defined in: src/core/ir/flow.ts:185

The application whose rules the document is set by: 'word' for one Word sets — lines as tall as the faces on them make them (§17.3.1.33), table rows as tall as their borders make them (§17.4.38); see the layout’s TypesetBy. Absent, the layout’s flat 1.2× lines and borders that take no room.