安装方式
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add MiniMax-AI/skills --skill minimax-pdf 当视觉质量和设计风格对PDF至关重要时,请使用此技能。 **创建(从零生成)**:“制作PDF”、“生成报告”、“撰写方案”、“创建简历”、“精美PDF”、“专业文档”、“封面页”、“精致PDF”、“客户就绪文档”。 **填写(填写表单字段)**:“填写表单”、“填写此PDF”、“完成表单字段”、“将值写入PDF”、“此PDF有哪些字段”。 **重新排版(为现有文档应用设计)**:“重新排版此文档”、“应用我们的样式”、“将此Markdown/文本转换为PDF”、“让此文档看起来好看”、“重新设计此PDF”。 本技能采用基于标记的设计体系:颜色、字体排印和间距根据文档类型派生,并贯穿每一页。输出为打印就绪版本。当外观重要时,优先使用此技能,而非仅需任何PDF输出时。
43
下载量
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add MiniMax-AI/skills --skill minimax-pdf name: minimax-pdf
description: "当视觉质量和设计风格对PDF至关重要时,请使用此技能。 \n**创建(从零生成)**:“制作PDF”、“生成报告”、“撰写方案”、“创建简历”、“精美PDF”、“专业文档”、“封面页”、“精致PDF”、“客户就绪文档”。 \n**填写(填写表单字段)**:“填写表单”、“填写此PDF”、“完成表单字段”、“将值写入PDF”、“此PDF有哪些字段”。 \n**重新排版(为现有文档应用设计)**:“重新排版此文档”、“应用我们的样式”、“将此Markdown/文本转换为PDF”、“让此文档看起来好看”、“重新设计此PDF”。 \n本技能采用基于标记的设计体系:颜色、字体排印和间距根据文档类型派生,并贯穿每一页。输出为打印就绪版本。当外观重要时,优先使用此技能,而非仅需任何PDF输出时。"
license: MIT
metadata:
version: "1.0"
category: document-generation三项任务。一个技能。
design/design.md。---
| 用户意图 | 路由 | 使用的脚本 |
|---|---|---|
| 从头生成新的 PDF | CREATE | palette.py → cover.py → render_cover.js → render_body.py → merge.py |
| 在现有 PDF 中填写/完成表单字段 | FILL | fill_inspect.py → fill_write.py |
| 重新格式化/重新设计现有文档 | REFORMAT | reformat_parse.py → 然后执行完整的 CREATE 流水线 |
规则: 当在 CREATE 和 REFORMAT 之间不确定时,询问用户是否有现有文档作为起点。如果有 → REFORMAT。如果没有 → CREATE。
---
完整流水线 — 内容 → 设计令牌 → 封面 → 正文 → 合并 PDF。
bash scripts/make.sh run \
--title "Q3 战略回顾" --type proposal \
--author "战略团队" --date "2025年10月" \
--accent "#2D5F8A" \
--content content.json --out report.pdf
文档类型: report · proposal · resume · portfolio · academic · general · minimal · stripe · diagonal · frame · editorial · magazine · darkroom · terminal · poster
| 类型 | 封面图案 | 视觉标识 |
|---|---|---|
report | fullbleed | 深色背景,点阵网格,Playfair Display |
proposal | split | 左侧面板 + 右侧几何图形,Syne |
resume | typographic | 超大首词,DM Serif Display |
portfolio | atmospheric | 近黑色,径向辉光,Fraunces |
academic | typographic | 浅色背景,经典衬线字体,EB Garamond |
general | fullbleed | 深灰蓝,Outfit |
minimal | minimal | 白色 + 单条 8px 强调色条,Cormorant Garamond |
stripe | stripe | 3 条粗水平色带,Barlow Condensed |
diagonal | diagonal | SVG 斜角切割,深色/浅色两半,Montserrat |
frame | frame | 内嵌边框,角落装饰,Cormorant |
editorial | editorial | 虚影字母,全大写标题,Bebas Neue |
magazine | magazine | 暖色奶油背景,居中堆叠,主图,Playfair Display |
darkroom | darkroom | 海军蓝背景,居中堆叠,灰度图像,Playfair Display |
terminal | terminal | 近黑色,网格线,等宽字体,霓虹绿 |
poster | poster | 白色背景,粗侧边栏,超大标题,Barlow Condensed |
封面附加功能(通过 --abstract、--cover-image 注入令牌):
--abstract "文本" — 封面上的摘要文本块(适用于 magazine/darkroom)--cover-image "url" — 主图 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 | 章节标题 + 强调色分隔线 | text |
h2 | 子章节标题 | text |
h3 | 子子章节(加粗) | text |
body | 两端对齐段落;支持 <b> <i> 标记 | text |
bullet | 无序列表项(• 前缀) | text |
numbered | 有序列表项 — 遇到非编号块时计数器自动重置 | text |
callout | 高亮洞察框,带左侧强调色条 | text |
table | 数据表 — 强调色表头,交替行色调 | headers、rows、col_widths?、caption? |
image | 嵌入式图像,缩放到列宽 | path/src、caption? |
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 | 小的浅色标签 | text |
pagebreak | 强制分页 | — |
spacer | 垂直空白 | pt(默认 12) |
chart / flowchart 模式:
{"type":"chart","chart_type":"bar","labels":["Q1","Q2","Q3","Q4"],
"datasets":[{"label":"收入","values":[120,145,132,178]}],"caption":"季度结果"}
{"type":"flowchart",
"nodes":[{"id":"s","label":"开始","shape":"oval"},
{"id":"p","label":"处理","shape":"rect"},
{"id":"d","label":"有效?","shape":"diamond"},
{"id":"e","label":"结束","shape":"oval"}],
"edges":[{"from":"s","to":"p"},{"from":"p","to":"d"},
{"from":"d","to":"e","label":"是"},{"from":"d","to":"p","label":"否"}]}
{"type":"bibliography","items":[
{"id":"1","text":"作者(年份). 标题. 出版社."}]}
---
在不改变布局或设计的情况下,填写现有 PDF 中的表单字段。
# 第 1 步:检查
python3 scripts/fill_inspect.py --input form.pdf
# 第 2 步:填写
python3 scripts/fill_write.py --input form.pdf --out filled.pdf \
--values '{"FirstName": "张三", "Agree": "true", "Country": "CN"}'
| 字段类型 | 值格式 |
|---|---|
text | 任意字符串 |
checkbox | "true" 或 "false" |
dropdown | 必须匹配检查输出中的选项值 |
radio | 必须匹配单选按钮值(通常以 / 开头) |
始终先运行 fill_inspect.py 以获取准确的字段名称。
---
解析现有文档 → content.json → CREATE 流水线。
bash scripts/make.sh reformat \
--input source.md --title "我的报告" --type report --out output.pdf
支持的输入格式: .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 |