| name | feedback-reports-native-libs | ||
|---|---|---|---|
| description | Reports must use native PDF/Excel libraries only. No HTML-to-PDF, no Puppeteer, no headless browser rendering. | ||
| metadata |
|
All reports rendered with native PDF and Excel libraries directly. Never HTML-based rendering pipelines.
Why: User strong preference — HTML→PDF (Puppeteer / Playwright / wkhtmltopdf / Chromium headless) produces ugly, inconsistent output, heavy runtime dependency, slow, font/layout drift. Native libs give pixel control, predictable layout, smaller footprint, faster, server-friendly.
How to apply:
- PDF: QuestPDF (native fluent layout) or PdfSharp / iText. Never HTML print view → PDF converter. Never Puppeteer/Playwright for report rendering.
- Excel: ClosedXML, EPPlus, or OpenXML SDK directly. Never HTML→XLSX.
- Screen rendering (React grids) is separate concern — fine to use HTML there. The ban is on HTML as PDF source.
- Conflicts with CLAUDE.md rule #9 wording ("HTML print views + PDF rendering") — that line needs update to drop the "HTML print views" clause.
- When sketching report architecture, renderer layer = native PDF builder + native XLSX builder. Same data shape feeds both, but layout written in C# fluent API per format.