关于 minimax-pdf
minimax-pdf 是用于创建 PDF、填写表单和重新排版文档的技能,面向 PDF 与文档处理任务。它按任务类型路由到不同脚本流程,并支持多种封面样式、内容块以及既有 PDF 表单填写。
主要功能
- 01从内容生成 PDF
- 02检查并填写 PDF 表单字段
- 03将文档重新排版为 PDF
- 04提供多种文档类型与封面样式
- 05支持图表、流程图和数学内容块
适用场景
- 01从头生成报告、提案或简历 PDF
- 02填写现有 PDF 表单
- 03将 Markdown、文本、PDF 或 JSON 重新排版
- 04在 PDF 中呈现图表或流程图
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ minimax-ai/ skills --skill minimax-pdf安装后在 Claude Code 中输入/minimax-pdf确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mddesign/design.mdscripts/cover.pyfill_inspect.pyfill_write.pymake.shmerge.pypalette.pyreformat_parse.pyrender_body.pyrender_cover.js详细介绍
minimax-pdf
三个任务。一项技能。
执行任何 CREATE 或 REFORMAT 工作前,请先阅读 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。
路线 A:CREATE
完整流程——内容 → 设计令牌 → 封面 → 正文 → 合并后的 PDF。
bash scripts/make.sh run \
--title "Q3 Strategy Review" --type proposal \
--author "Strategy Team" --date "October 2025" \
--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 "text"— 封面上的抽象文本块(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 | 图像,配有自动编号的“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":"Revenue","values":[120,145,132,178]}],"caption":"Q results"}
{"type":"flowchart",
"nodes":[{"id":"s","label":"Start","shape":"oval"},
{"id":"p","label":"Process","shape":"rect"},
{"id":"d","label":"Valid?","shape":"diamond"},
{"id":"e","label":"End","shape":"oval"}],
"edges":[{"from":"s","to":"p"},{"from":"p","to":"d"},
{"from":"d","to":"e","label":"Yes"},{"from":"d","to":"p","label":"No"}]}
{"type":"bibliography","items":[
{"id":"1","text":"Author (Year). Title. Publisher."}]}
路线 B:FILL
填写现有 PDF 中的表单字段,不更改布局或设计。
# Step 1: inspect
python3 scripts/fill_inspect.py --input form.pdf
# Step 2: fill
python3 scripts/fill_write.py --input form.pdf --out filled.pdf \
--values '{"FirstName": "Jane", "Agree": "true", "Country": "US"}'
| 字段类型 | 值格式 |
|---|---|
text | 任意字符串 |
checkbox | "true" 或 "false" |
dropdown | 必须与 inspect 输出中的选项值匹配 |
radio | 必须与单选值匹配(通常以 / 开头) |
务必先运行 fill_inspect.py,以获取准确的字段名称。
路线 C:REFORMAT
解析现有文档 → content.json → CREATE 流程。
bash scripts/make.sh reformat \
--input source.md --title "My Report" --type report --out output.pdf
支持的输入格式: .md .txt .pdf .json
环境
bash scripts/make.sh check # verify all deps
bash scripts/make.sh fix # auto-install missing deps
bash scripts/make.sh demo # build a sample PDF
| 工具 | 使用者 | 安装方式 |
|---|---|---|
| Python 3.9+ | 所有 .py 脚本 | 系统 |
reportlab | render_body.py | pip install reportlab |
pypdf | 填写、合并、重新排版 | pip install pypdf |
| Node.js 18+ | render_cover.js | 系统 |
playwright + Chromium | render_cover.js | npm install -g playwright && npx playwright install chromium |