What problem does it solve?
This Skill prevents common, production-breaking mistakes when building Frappe Print Formats and generating PDFs, such as mixing Jinja with Report JS microtemplates or producing missing/incorrect PDF output due to wrong engine assumptions or asset handling.
Core Features & Use Cases
- Correct template engine selection: Uses Jinja for Jinja Print Formats and
{%= %} microtemplate syntax for Report Print Formats, avoiding silent rendering failures.
- Production-ready PDF generation guidance: Covers
get_pdf, download_pdf, letter head rendering, PDF engine selection (wkhtmltopdf vs chrome), and print layout controls (page breaks, print CSS).
- Performance and rendering guardrails: Avoids N+1 query patterns in templates and provides best practices for images, absolute URLs, and HTML safety (
| safe).
- Use Case: You need a Sales Invoice PDF that includes a customized letter head, consistent page numbering, and reliable table pagination across v14–v16; follow this Skill to configure the right print format type and template syntax.
Quick Start
Ask for a Frappe Sales Invoice Print Format template that includes letter head and page breaks for Frappe v16, ensuring the correct Jinja or {%= %} syntax for the chosen print format type.