关于 pdf-it
pdf-it 是 MCP 服务和 Claude Code 技能,可将 Markdown 转为排版后的 PDF。它提供报告和纯文本模板、内嵌字体、报告封面与自动目录,并支持指定输出路径。
主要功能
- 01将 Markdown 转为 PDF
- 02研究报告与纯文本模板
- 03封面和自动生成的目录
- 04带页码的页脚
- 05内嵌字体和自定义输出路径
适用场景
- 01将研究摘要导出为 PDF
- 02从 Markdown 制作客户报告
- 03将简短笔记转为纯文本 PDF
MCP 相关
MCP 服务提供 `generate_pdf` 工具,用于将 Markdown 转为 PDF;`list_templates` 工具用于列出可用模板。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 要转换为 PDF 的 Markdown 内容。 |
| output_path | string | 否 | 输出 PDF 的绝对路径。默认为 ~/Documents/pdf-it/{title}-{timestamp}.pdf |
| title | string | 否 | 封面和页脚上显示的文档标题。 |
| author | string | 否 | 封面上显示的作者姓名。 |
| template | enum | 否 | 要使用的模板。“research-report”(默认)会添加封面和目录。“plain”仅呈现正文内容。research-report | plain |
详细介绍
pdf-it
一个 Model Context Protocol(MCP)服务和 Claude Code 技能,可将 Markdown 转换为精心设计的 PDF。包含封面、目录、跨页不拆散的代码块以及带页码的页脚。只需在 Claude 会话中执行一条命令,就能生成可发送给客户的文件。
字体随软件包一同提供,因此每台机器生成的 PDF 外观都一致。无需安装或配置任何内容。

为什么要开发它
每次 Claude Code 研究会话结束时,结果总是一样:一大段有用的 Markdown,却没有简便的方法将其转换为人们真正愿意阅读的 PDF。
Chrome 打印:需要 30 秒,生成的内容看起来像 Word 文档。手动转换 HTML:每份文档要花 10 分钟。Pandoc:虽然能用,但默认样式看起来像 2008 年的学术论文。这些方式都无法生成适合发送给客户的成品。
pdf-it 只需一条命令。默认生成的内容就经过精心设计。

安装
npm install -g pdf-it-mcp
也可以按需运行 npx pdf-it-mcp。
要求
- Node.js 20 或更高版本
- 无需安装其他内容。渲染器和字体都随软件包一同提供。
配置
Claude Desktop
编辑 claude_desktop_config.json:
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": ["-y", "pdf-it-mcp"]
}
}
}
Claude Code
claude mcp add pdf-it -- npx -y pdf-it-mcp
Cursor
使用与 Claude Desktop 相同的结构,将配置添加到 ~/.cursor/mcp.json。
Cline / Continue / Zed / Goose
使用标准 MCP 配置。命令同样是 npx -y pdf-it-mcp。
使用
在连接到该服务的任意 Claude 会话中,提出以下请求:
将此内容保存为 PDF
也可以使用以下说法:导出为 PDF、据此制作 PDF 报告、将此内容转换为 PDF、/pdf。该技能会识别请求,并通过 pdf-it 处理。默认情况下,输出文件会保存到 ~/Documents/pdf-it/。
工具
| 工具 | 描述 |
|---|---|
generate_pdf | 将 Markdown 转换为 PDF。可指定模板(research-report 或 plain)、可选的封面标题和作者,以及可选的输出路径。 |
list_templates | 返回可用模板列表及其描述。 |
generate_pdf 参数
| 参数 | 必填 | 描述 |
|---|---|---|
content | 是 | 要转换的 Markdown 字符串 |
title | 否 | 显示在封面和页脚上 |
author | 否 | 显示在封面上,位于日期上方 |
output_path | 否 | 输出文件的绝对路径。默认为 ~/Documents/pdf-it/{slug}-{timestamp}.pdf |
template | 否 | research-report(默认)或 plain |
模板
| 名称 | 描述 |
|---|---|
research-report | 包含标题、作者和日期的封面。根据 H1 和 H2 标题自动生成目录。正文采用合适的层级结构。页脚包含标题和页码。适用于研究、摘要、设计文档和报告。 |
plain | 无封面、无目录。仅包含紧凑的正文内容。适用于简短笔记和快速导出。 |
技能
此软件包包含一个 Claude Code 技能,文件为 SKILL.md。该技能会响应以下触发短语:
将此内容保存为 PDF导出为 PDF据此制作 PDF 报告将此内容转换为 PDF生成 PDF/pdf
完整的技能规范请参阅 SKILL.md。
输出
默认情况下,PDF 会写入 ~/Documents/pdf-it/{slug}-{timestamp}.pdf。传入 output_path 可覆盖默认路径。
设计
此软件包内置三种字体系列:
- Newsreader 用于封面标题(display 60,light)和正文 H1(display 32)。高对比度衬线字体,在大字号下依然具有编辑风格的厚重感。
- DM Sans 用于 H2、H3、表格文字和目录标题。层级较低,更为内敛。
- JetBrains Mono 用于页码、元数据、代码和图注。
纯白纸张,近黑色墨色(#111113),日期和表格单元格使用次级墨色(#2B2B2E),页码和日期使用柔和灰色(#7A7A7E),细线边框(#E6E6E6)。不使用强调色。代码块特意不进行语法高亮:PDF 中的颜色选择很容易过时。
所有值都位于 src/templates/design-tokens.ts,作为唯一可信来源。如果你想要不同的设计语言,可以分叉这些组件。它们位于 src/templates/components/,是表面积精简的纯 React-PDF 组件。
工作原理
- 解析: remark 将你的 Markdown 转换为 AST。
- 组合: AST 转换为类型化的 React 组件(封面、目录以及正文基础组件,如 H1/H2/H3、段落、代码块、引用、表格、列表和图表)。
- 渲染:
@react-pdf/renderer将 React 树栅格化为确定性 PDF,并嵌入字体和目录锚点。 - 输出: PDF 保存到
~/Documents/pdf-it/{slug}-{timestamp}.pdf,并嵌入标题和作者元数据。
总耗时:5 页文档通常不到 1 秒,30 页文档约需 1–2 秒。
收录情况
免责声明
这是一个非官方的社区构建工具。它与 Anthropic PBC 无关,也未获其认可或赞助。Claude 和 Claude Code 是 Anthropic PBC 的商标。
pdf-it 在本地运行,并自带渲染器(@react-pdf/renderer)和字体。使用风险自负。对于因误用、提示词注入、错误或渲染失败而引发的问题,作者不承担任何责任。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。