mcpField
K
kimi-pdf

kimi-pdf

github.com/thvroyal文档处理241419 次安装31 周前更新
代码仓库

关于 kimi-pdf

kimi-pdf 是处理 PDF 创建与操作的技能,面向需要生成 PDF 或处理现有文件的用户。它按任务选择 HTML、LaTeX 或处理流程,并通过统一命令行脚本执行操作。

主要功能

  1. 01通过 HTML 创建 PDF
  2. 02按需使用 LaTeX 流程
  3. 03提取文本和表格
  4. 04合并 PDF 与填写表单
  5. 05转换 Office 文件并处理页面

适用场景

  1. 01生成报告或学术文档 PDF
  2. 02按要求使用 LaTeX 编译 PDF
  3. 03从现有 PDF 提取文本与表格
  4. 04合并 PDF 或填写表单

安装

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

$npx skills add https://github.com/thvroyal/kimi-skills --skill kimi-pdf

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

包含的文件

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

routes/
html.md
latex.md
process.md
scripts/
browser_helper.js
cmd_convert.py
cmd_extract.py
cmd_form.py
cmd_meta.py
cmd_pages.py
compile_latex.py
html_to_pdf.js
package-lock.json
package.json
pdf.py
pdf.sh
setup.sh

详细介绍

路由选择

路由触发条件路由文件
HTML(默认)所有 PDF 创建请求routes/html.md
LaTeX用户明确要求 LaTeX、.tex 或 Tectonicroutes/latex.md
Process处理现有 PDF(提取、合并、填写表单等)routes/process.md

默认使用 HTML。 只有用户明确要求时,才使用 LaTeX 路由。

强制要求:实施前阅读路由文件
编写任何代码前,必须先阅读相应的路由文件。 路由文件包含此处未重复的关键实施细节。 跳过此步骤会导致输出错误(脚本错误、缺少 CSS、布局损坏)。

实施前,必须:

  1. 确定路由(HTML / LaTeX / Process)
  2. 阅读路由文件(routes/html.md、routes/latex.md 或 routes/process.md)
  3. 然后才能开始实施

此文件(SKILL.md)包含约束和原则。路由文件包含具体操作方法。

决策规则
路由选择
用户表述路由
“创建 PDF”“制作报告”“撰写论文”HTML
“使用 LaTeX”“编译 .tex”“使用 Tectonic”LaTeX
“从 PDF 中提取文本”“合并这些 PDF”“填写此表单”Process
封面样式选择(HTML 路由)
场景样式
学术论文、学位论文、正式课程作业简约(白色、居中、无装饰)
报告、提案、专业文档设计型(从 html.md 的样式参考中选择)
不确定默认使用设计型——纯文本封面效果平平

核心原则:封面背景决定成品是“合格”还是“出彩”。参见 html.md 中的 11 种样式选项。

引用格式选择
文档语言格式
中文GB/T 7714(使用 [J][M][D] 标识符)
英文APA
混合中文参考文献 → GB/T 7714,英文参考文献 → APA

快速入门

所有操作均使用统一的 CLI:

# Check environment (JSON output, exit code 0=ok, 2=missing deps)
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh check

# Auto-fix missing dependencies (idempotent, safe to run multiple times)
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh fix

# Convert HTML to PDF
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh html input.html

# Compile LaTeX to PDF
/app/.kimi/skills/kimi-pdf/scripts/pdf.sh latex input.tex

退出代码:

  • 0 = 成功
  • 1 = 用法错误
  • 2 = 缺少依赖项(运行 pdf.sh fix)
  • 3 = 运行时错误

各路由的依赖项:

  • HTML 路由:Node.js、Playwright、Chromium
  • Process 路由:Python 3、pikepdf、pdfplumber
  • LaTeX 路由:Tectonic

核心约束(必须遵守)

1. 输出语言

输出语言必须与用户查询的语言一致。

  • 用户用中文提问 → PDF 内容使用中文
  • 用户用英文提问 → PDF 内容使用英文
  • 用户明确指定语言 → 按用户指定执行
2. 字数和页数限制
  • 严格遵守用户指定的字数和页数要求
  • 不要随意扩充内容
3. 引用和搜索标准
关键要求:写作前先搜索

不要捏造信息。如有疑问,请搜索。

如果内容涉及以下任何一项,必须先搜索再撰写:

  • 统计数据、数字、百分比、排名
  • 政策、法规、法律、标准
  • 学术研究、理论、方法论
  • 时事、最新进展
  • 任何你无法百分之百确定的信息
如果需要统计数据、研究数据或政策信息,但尚未搜索,切勿继续撰写。 严禁编造事实。如有不确定之处,请搜索。 #### 需要搜索的情况 | 场景 | 是否搜索? | 备注 | |----------|---------|-------| | 统计数据、数据 | **必须** | 例如:“2024 年就业率” | | 政策、法规 | **必须** | 例如:“初创企业补贴” | | 研究、论文 | **必须** | 例如:“方法 X 的有效性” | | 时效性内容 | **必须** | 知识截止日期之后的信息 | | **不确定的事实** | **必须** | 如果不确定,务必搜索 | | 常识 | 无需 | 例如:“水在 100°C 时沸腾” |

搜索工作流:

  1. 找出需要核实的事实/数据
  2. 搜索可靠来源
  3. 如果结果不足,继续迭代搜索,直到获得可靠信息
  4. 在参考文献中列出真实来源
  5. 如果多次搜索仍无结果,请告知用户,而不是编造数据
引用必须真实

禁止编造参考文献。所有引用都必须包含:

  • 正确的作者/机构名称
  • 准确的标题
  • 可核实的年份、期刊/来源
交叉引用(必须可点击)
As shown in <a href="#fig-1-1">Figure 1-1</a>...
From <a href="#eq-2-1">Equation (2-1)</a>...
See <a href="#sec3">Section 3</a>...

注意:id 必须放在容器顶部(参见 html.md 中的 CSS Counters 部分)。


内容质量要求

1. 字数/页数要求

必须严格遵守用户指定的字数或页数要求:

用户请求执行标准
指定字数(例如:“3000 字”)控制在 ±20% 范围内,即 2400-3600 字
指定页数(例如:“5 页”)页数必须完全相同,最后一页可以不满
字数范围(例如:“2000-3000 字”)必须在范围内
未明确要求根据文档类型合理推断;宁可详尽,也不要流于表面
指定最低字数(例如:“超过 5000 字”)不得超过其 2 倍,即 5000-10000 字

禁止行为:

  • 随意缩短内容(不能以“简洁”为借口)
  • 用过多的项目符号填充页面(保持较高的信息密度)
  • 超出用户要求篇幅的 2 倍

特殊情况——简历/履历:

  • 除非用户另有说明,简历应为 1 页
  • 使用紧凑页边距:margin: 1.5cm
2. 遵循大纲(强制要求)

用户提供大纲时:

  • 严格遵循用户提供的大纲结构
  • 章节标题必须与大纲一致(可微调措辞,但不得改变层级/顺序)
  • 不得随意添加或删除章节
  • 如果大纲似乎有问题,修改前先询问用户

用户未提供大纲时:

  • 根据文档类型采用标准结构:
    • 学术论文:IMRaD(引言-方法-结果-讨论)或引言-文献综述-方法-结果-讨论-结论
    • 商业报告:结论优先(执行摘要 → 详细分析 → 建议)
    • 技术文档:概述 → 原理 → 用法 → 示例 → 常见问题
    • 课程作业:遵循作业结构要求
  • 章节应有合理的逻辑递进,不得脱节

技术栈概览

路线工具用途
HTMLPlaywright + Paged.jsHTML → PDF 转换
HTMLKaTeX、Mermaid数学公式、图表
处理pikepdf填写表单、页面操作、元数据
处理pdfplumber文本和表格提取
处理LibreOfficeOffice → PDF 转换
LaTeXTectonicLaTeX → PDF 编译

评论

支持 Markdown