用途:把 psquared 客户报价生成为带品牌的多页 A4 PDF,含标题页、项目描述、截图、Angebot(价格)页与 AGB 条款页。
主要能力:标题页为满版淡紫渐变,含品牌标记、报价编号、客户与双方联系信息;正文页含项目描述(Worum es geht、Ausgangslage、Unsere Lösung、Was du bekommst、Vorgehen 及自定义段落)与可选截图及说明,标题页之后每页有页码与品牌页脚;价格页含明细表、可选打包折扣、USt.、总计、可选周期费用框、可选 paymentSummary 与备注;AGB 页含有效期、付款条款、保密、管辖及可选附加段落(terms.extra 以原始 HTML 渲染)与双方签名块。品牌色 #6b46c1,浅色点缀 #9f7aea,Inter 字体回退链。参考模板为 examples/sanacom-example.json。
使用方式:命令为 /create-offer [path-to-config.json] [output.pdf],两个参数均可选;未提供配置时会先访谈用户并写出配置,输出默认 ./offer-<client-slug>.pdf。先运行 bash setup.sh(幂等,校验 Node >= 18、安装 Playwright 与 pdf-lib、下载 Chromium),再运行 node build.mjs <path-to-config.json> <output.pdf>。构建会计算行小计、USt.、折扣并格式化 EUR,用 Playwright 渲染 HTML,第一遍仅打印第 1 页且 margin: 0 生成满版标题,第二遍打印第 2 页起并加页眉页脚,最后用 pdf-lib 合并。
限制:截图须为 PNG/JPG 并放入 assets/,以 "src": "assets/foo.png" 引用;hasDiscount、subtotalDisplay、totalDisplay、vatAmountDisplay 由 build.mjs 计算,不要写入输入 JSON;条目描述建议不超过两行;terms.extra 多段请用 <p> 而非 <br/><br/>;若 PDF 出现 {{foo.bar}} 说明字段缺失。其他细节暂未提供。