mcpField
M
minimax-pdf

minimax-pdf

github.com/minimax-ai文档处理13.7k3.8k 次安装28 周前更新
代码仓库

关于 minimax-pdf

minimax-pdf 是用于创建 PDF、填写表单和重新排版文档的技能,面向 PDF 与文档处理任务。它按任务类型路由到不同脚本流程,并支持多种封面样式、内容块以及既有 PDF 表单填写。

主要功能

  1. 01从内容生成 PDF
  2. 02检查并填写 PDF 表单字段
  3. 03将文档重新排版为 PDF
  4. 04提供多种文档类型与封面样式
  5. 05支持图表、流程图和数学内容块

适用场景

  1. 01从头生成报告、提案或简历 PDF
  2. 02填写现有 PDF 表单
  3. 03将 Markdown、文本、PDF 或 JSON 重新排版
  4. 04在 PDF 中呈现图表或流程图

安装

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

$npx skills add https://github.com/minimax-ai/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