mcpField
M
minimax-pdf

minimax-pdf

github.com/mxyhi文档处理50894 次安装1 天前更新
代码仓库

关于 minimax-pdf

用于创建 PDF、填写现有 PDF 表单和重新排版源文档的 Skill。它提供脚本化流程、多种文档与封面样式,以及用于报告等文档的结构化内容块。

主要功能

  1. 01从结构化内容创建 PDF
  2. 02填写现有 PDF 表单字段
  3. 03重新排版 Markdown、文本、PDF 或 JSON
  4. 04多种文档与封面样式
  5. 05图表、流程图、表格等内容块
  6. 06依赖检查与安装脚本

适用场景

  1. 01生成设计化报告或提案
  2. 02填写 PDF 表单字段
  3. 03将源文档转换为重新设计的 PDF
  4. 04使用表格、图表或流程图构建文档

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mxyhi/ok-skills --skill minimax-pdf

安装后在 Claude Code 中输入/minimax-pdf确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
design/
design.md
scripts/
cover.py
fill_inspect.py
fill_write.py
make.sh
merge.py
palette.py
reformat_parse.py
render_body.py
render_cover.js

详细介绍

minimax-pdf

三个任务。一项技能。

执行任何 CREATE 或 REFORMAT 工作前,请先阅读 design/design.md。


路由表

用户意图路由使用的脚本
从头生成新的 PDFCREATEpalette.py → cover.py → render_cover.js → render_body.py → merge.py
填写/补全现有 PDF 中的表单字段FILLfill_inspect.py → fill_write.py
重新排版/设计现有文档REFORMATreformat_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

类型封面样式视觉特征
reportfullbleed深色背景、点阵网格、Playfair Display
proposalsplit左侧面板 + 右侧几何图形、Syne
resumetypographic首词超大字号、DM Serif Display
portfolioatmospheric近黑色、径向辉光、Fraunces
academictypographic浅色背景、古典衬线字体、EB Garamond
generalfullbleed深石板色、Outfit
minimalminimal白色 + 单条 8px 强调色条、Cormorant Garamond
stripestripe3 条醒目的横向色带、Barlow Condensed
diagonaldiagonalSVG 倾斜切分、深浅双色区域、Montserrat
frameframe内嵌边框、角落装饰、Cormorant
editorialeditorial幽灵字、全大写标题、Bebas Neue
magazinemagazine暖奶油色背景、居中排布、主图、Playfair Display
darkroomdarkroom海军蓝背景、居中排布、灰度图片、Playfair Display
terminalterminal近黑色、网格线、等宽字体、霓虹绿
posterposter白色背景、粗侧边栏、超大标题、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 脚本系统
reportlabrender_body.pypip install reportlab
pypdf填写、合并、重新排版pip install pypdf
Node.js 18+render_cover.js系统
playwright + Chromiumrender_cover.jsnpm install -g playwright && npx playwright install chromium

评论

支持 Markdown