写作与公文
需要生成或重排高质量、有设计感的 PDF…
当 PDF 的外观与设计识别度重要时,用令牌化设计系统从零生成、填写表单或重排文档并输出可印刷 PDF。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要生成或重排高质量、有设计感的 PDF特定
解决思路
- 先判断任务路由:从零生成走 CREATE,填写已有 PDF 表单走 FILL,给已有文档套用设计走 REFORMAT;CREATE 与 REFORMAT 难以区分时,问用户是否已有源文档,有则 REFORMAT,无则 CREATE。
- 任何 CREATE 或 REFORMAT 工作前先阅读 design/design.md。
- CREATE 全流程:palette.py → cover.py → render_cover.js → render_body.py → merge.py,用 bash scripts/make.sh run --title ... --type ... --author ... --date ... --accent ... --content content.json --out report.pdf 执行。
- 按文档类型选择视觉身份:report 用 fullbleed 深色底+点阵+Playfair Display;proposal 用 split 左面板+右侧几何+Syne;resume 用 typographic 超大首词+DM Serif Display;portfolio 用 atmospheric 近黑+径向光晕+Fraunces;academic 用 typographic 浅底+古典衬线+EB Garamond;general 用 fullbleed 深石板+Outfit;minimal 用白底+单条 8px 强调条+Cormorant Garamond;stripe 用 3 条粗横色带+Barlow Condensed;diagonal 用 SVG 斜切明暗两半+Montserrat;frame 用内嵌边框+角饰+Cormorant;editorial 用幽灵字母+全大写标题+Bebas Neue;magazine 用暖奶油底+居中堆叠+主图+Playfair Display;darkroom 用海军蓝底+居中堆叠+灰度图+Playfair Display;terminal 用近黑+网格线+等宽+霓虹绿;poster 用白底+粗侧栏+超大标题+Barlow Condensed。
- 封面附加项通过令牌注入:--abstract "text" 在封面加摘要文本块(magazine/darkroom),--cover-image "url" 加主图(magazine、darkroom、poster)。
- 颜色覆盖始终依据文档内容选择:--accent "#HEX" 覆盖强调色(accent_lt 自动向白色变浅派生),--cover-bg "#HEX" 覆盖封面背景色。
- 强调色按语义上下文挑选而非默认安全色:法律/合规/金融用深海军蓝 #1C3A5E、炭灰 #2E3440、石板 #3D4C5E;医疗用青绿 #2A6B5A、冷绿 #3A7D6A;科技/工程用钢蓝 #2D5F8A、靛蓝 #3D4F8A;环保/可持续用森林绿 #2E5E3A、橄榄 #4A5E2A;创意/艺术/文化用酒红 #6B2A35、李子紫 #5A2A6B、陶土 #8A3A2A;学术/研究用深青 #2A5A6B、图书馆蓝 #2A4A6B;企业/中性用石板 #3D4A5A、石墨 #444C56;奢华/高端用暖黑 #1A1208、深青铜 #4A3820;优先柔和低饱和色,避免鲜艳原色,拿不准时更深更中性。
- content.json 块类型按需使用:h1 章节标题+强调线;h2 子标题;h3 子子标题(加粗);body 两端对齐段落(支持 <b> <i>);bullet 无序列表项(• 前缀);numbered 有序列表项(遇到非编号块自动重置计数);callout 带强调左条的高亮框;table 数据表(强调色表头、交替行底色,可选 col_widths、caption);image 按栏宽缩放嵌入图(path/src,可选 caption);figure 自动编号“Figure N:”的图(path/src,可选 caption);code 带强调左边框的等宽代码块(text,可选 language);math 用 matplotlib mathtext 渲染 LaTeX 显示公式(text,可选 label、caption);chart 用 matplotlib 渲染柱/线/饼图(chart_type、labels、datasets,可选 title、x_label、y_label、caption、figure);flowchart 用 matplotlib 画节点+边流程图(nodes、edges,可选 caption、figure);bibliography 带悬挂缩进的编号参考文献(items [{id, text}],可选 title);divider 强调色通栏横线;caption 小号弱化标签;pagebreak 强制分页;spacer 垂直留白(pt,默认 12)。
- chart 用 {"type":"chart","chart_type":"bar","labels":[...],"datasets":[{"label":"Revenue","values":[...]}],"caption":"..."};flowchart 用 nodes(id、label、shape 取 oval/rect/diamond)与 edges(from、to,可选 label);bibliography 用 items 数组,每项含 id 与 text。
- FILL 流程:先 python3 scripts/fill_inspect.py --input form.pdf 获取精确字段名,再 python3 scripts/fill_write.py --input form.pdf --out filled.pdf --values '{"FirstName": "Jane", "Agree": "true", "Country": "US"}' 填写,不改变原有布局与设计。
- FILL 值格式:text 任意字符串;checkbox 用 "true" 或 "false";dropdown 必须匹配 inspect 输出中的某个选项值;radio 必须匹配某个 radio 值(常以 / 开头)。
- REFORMAT 流程:bash scripts/make.sh reformat --input source.md --title "My Report" --type report --out output.pdf,先 reformat_parse.py 解析为 content.json,再走完整 CREATE 管线;支持 .md .txt .pdf .json 输入。
- 环境维护:bash scripts/make.sh check 校验依赖,bash scripts/make.sh fix 自动安装缺失依赖,bash scripts/make.sh demo 构建示例 PDF。
- 依赖安装:Python 3.9+ 供所有 .py 脚本;reportlab 供 render_body.py(pip install reportlab);pypdf 供 fill、merge、reformat(pip install pypdf);Node.js 18+ 供 render_cover.js;playwright + Chromium 供 render_cover.js(npm install -g playwright && npx playwright install chromium)。
适用边界 · 注意事项
- 只需要任意 PDF 输出、外观不重要时,不必使用本技能。
- 没有已有文档可作起点时不要走 REFORMAT,应走 CREATE。
- 未先运行 fill_inspect.py 获取精确字段名时不要直接填写表单。