Skip to main content

Quickstart

import { PdfTemplatesStore, renderPdfTemplate } from '@quik/pdf';

await PdfTemplatesStore.load('reports', '/app/templates/pdf');

const docDefinition = renderPdfTemplate('reports.summary', {
title: 'Q1 Summary',
rows: [ { label: 'Revenue', value: 1200 } ]
});

Notes

  • Templates are YAML/JSON files compiled to pdfmake document definitions, with Handlebars-style {{placeholder}} interpolation and dynamic repeat/when nodes.
  • PdfTemplatesStore.load(namespace, folder) registers every template file under folder, namespaced as namespace.fileName (a file summary.yml under namespace reports becomes reports.summary).
  • renderPdfTemplate(template, data, options?) returns a pdfmake document definition object; it does not produce a PDF file by itself.
  • Use renderPdfBuffer(template, data, options?) to render straight to a Buffer, or renderPdfBufferFromDefinition(definition) if you already have a compiled document definition.