From the spec
Built directly from ECMA-376 (OOXML) and ISO 32000 / 19005 (PDF / PDF/A) — not a wrapper around LibreOffice, headless Office, or any commercial SDK.
Ream parses Word, Excel, PowerPoint and PDF — including the legacy .doc / .xls / .ppt — and writes PDF, SVG, HTML, DOCX or XLSX. In the browser, straight from the ECMA-376 and ISO 32000 specifications. No LibreOffice, no headless Office, no commercial SDK.
One parse, any target — the architecture in six pieces.
Built directly from ECMA-376 (OOXML) and ISO 32000 / 19005 (PDF / PDF/A) — not a wrapper around LibreOffice, headless Office, or any commercial SDK.
Pure TypeScript on Uint8Array in and Uint8Array out — zero node:* imports on the conversion path. The same code runs in the browser, Node, serverless and edge.
The OOXML trio plus .pdf and the legacy binary .doc / .xls / .ppt (97–2003). DrawingML shapes, charts and OfficeMath throughout.
Type0 + CIDFontType2 embedding with subsetting, Knuth–Plass line breaking, Liang hyphenation, OpenType ligatures and kerning, BiDi and Arabic joining.
PDF/A-1/2/3 (a/b/u) and PDF/UA-1 — all veraPDF-validated — plus tagged PDF, digital signatures and AES-256 encryption.
Ream.parse(bytes) reads once into a format-neutral interlayer; convert renders PDF, SVG, HTML, DOCX or XLSX from it. Formats plug in as adapters.