pdf-kalem.
Describe documents as widget trees — Yoga flexbox layout, theme tokens, and a pagination engine — rendered to PDF with pdf-lib. Runs in the browser and Node.
Widget-tree documents
Pages, containers, rows, columns, text, tables, images, SVG paths, icons — composed declaratively, adapted from Flutter's widget model to the document domain.
Real pagination
Content taller than one page flows onto the next. Text splits by line, table rows stay whole, headers repeat, and per-page chrome re-renders on every output page.
Markdown in
Convert GFM markdown into widgets or a ready-to-save document through one deep seam — headings, lists, tables, code, quotes, images.
Themes & fonts
Document-scoped color tokens, text variants, and table/container defaults. Builtin standard fonts out of the box, per-face fallback for custom families — bring your own TTFs.