Skip to main content

Troubleshooting

Template renders empty content​

By default (pdf.templates.throwOnMissing: false), requesting a template key that was never registered logs a PDF template not found: <key> warning and returns { content: [] } instead of throwing. Set pdf.templates.throwOnMissing to true to fail loudly instead.

Template changes not picked up​

PdfTemplatesStore.get() serves the cached, parsed definition by default. Set pdf.templates.disableCache to true to reload from disk on every access, or call PdfTemplatesStore.reload(template?) explicitly (with no argument to reload every loaded template).

Setting a template that already exists​

PdfTemplatesStore.set(name, definition, { replace: false }) throws PDF template already exists: <name> if a template with that key is already registered. Use replace: true (the default) or PdfTemplatesStore.upsert(...) to overwrite intentionally.

Circular template inheritance​

renderPdfTemplate/resolveTemplateDefinition throw Circular PDF template inheritance detected: <template> when a template's extends chain refers back to a template already being resolved.

Unsupported template file format​

PdfTemplatesStore.load(module, folder) only parses .json, .yml, and .yaml files; any other extension inside the folder throws Unsupported template format: <filename>.

Common Errors​

@quik/pdf has no locale file of its own — template resolution and store errors above are plain Error instances (not translated quik.errors.pdf.* keys).