No second pass
TOC, indexes, and bibliographies with accurate page numbers resolved in a single deterministic simulation pass.
Patent-pending spatial simulation engine
VMPrint is a layout engine — not a PDF library, not a renderer. It decides where every glyph goes, negotiates page breaks, resolves spatial dependencies between dynamic regions, and hands you back a flat array of exact coordinates for every box and text run. What you do with that is up to you.
Pure TypeScript. No HarfBuzz. No headless browser. Runs in Node.js, the browser, Cloudflare Workers, and V8 isolates. The live demo below runs entirely client-side — layout engine, fonts, and PDF export included.
TOC, indexes, and bibliographies with accurate page numbers resolved in a single deterministic simulation pass.
Node.js, browser, Cloudflare Workers, Lambda@Edge. Pure TypeScript, no native binary dependencies.
Every glyph's X/Y position, every box boundary, every line break — inspectable, serializable, diffable JSON.
Live Demo
Theme presets, AST inspection, PDF export, SVG export, and live paginated layout — running entirely in the browser. Select text across the canvas and paste it. Every glyph knows where it is.
Six chapters from first document to scripting — layout config, typography, multi-column, tables, images, and document lifecycle hooks.
Read the guidesThe full DocumentInput schema, scripting API, overlay system, standard fonts, and CLI reference.
Open the referenceComplete pipelines running client-side: AST to PDF, AST to canvas, Markdown transmutation, and the preview package. All work from file://.
Engine, contexts, font managers, and transmuters on GitHub. Apache 2.0.
View the repository