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 dynamicrepeat/whennodes. PdfTemplatesStore.load(namespace, folder)registers every template file underfolder, namespaced asnamespace.fileName(a filesummary.ymlunder namespacereportsbecomesreports.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 aBuffer, orrenderPdfBufferFromDefinition(definition)if you already have a compiled document definition.