mcpField
P
pdf-it

pdf-it

本地服务
npmjs.com文件与存储216 周前更新

关于 pdf-it

pdf-it 是 MCP 服务和 Claude Code 技能,可将 Markdown 转为排版后的 PDF。它提供报告和纯文本模板、内嵌字体、报告封面与自动目录,并支持指定输出路径。

主要功能

  1. 01将 Markdown 转为 PDF
  2. 02研究报告与纯文本模板
  3. 03封面和自动生成的目录
  4. 04带页码的页脚
  5. 05内嵌字体和自定义输出路径

适用场景

  1. 01将研究摘要导出为 PDF
  2. 02从 Markdown 制作客户报告
  3. 03将简短笔记转为纯文本 PDF

MCP 相关

MCP 服务提供 `generate_pdf` 工具,用于将 Markdown 转为 PDF;`list_templates` 工具用于列出可用模板。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": [
"-y",
"pdf-it-mcp"
]
}
}
}
启动命令npx -y pdf-it-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpdf-it-mcp2.1.0

工具

2

收录的工具列表 · 更新于 3 周前

参数类型必填说明
contentstring是要转换为 PDF 的 Markdown 内容。
output_pathstring否输出 PDF 的绝对路径。默认为 ~/Documents/pdf-it/{title}-{timestamp}.pdf
titlestring否封面和页脚上显示的文档标题。
authorstring否封面上显示的作者姓名。
templateenum否要使用的模板。“research-report”(默认)会添加封面和目录。“plain”仅呈现正文内容。research-report | plain

详细介绍

pdf-it

pdf-it MCP server MCP Badge npm version npm downloads License: MIT

一个 Model Context Protocol(MCP)服务和 Claude Code 技能,可将 Markdown 转换为精心设计的 PDF。包含封面、目录、跨页不拆散的代码块以及带页码的页脚。只需在 Claude 会话中执行一条命令,就能生成可发送给客户的文件。

字体随软件包一同提供,因此每台机器生成的 PDF 外观都一致。无需安装或配置任何内容。

pdf-it 封面示例

为什么要开发它

每次 Claude Code 研究会话结束时,结果总是一样:一大段有用的 Markdown,却没有简便的方法将其转换为人们真正愿意阅读的 PDF。

Chrome 打印:需要 30 秒,生成的内容看起来像 Word 文档。手动转换 HTML:每份文档要花 10 分钟。Pandoc:虽然能用,但默认样式看起来像 2008 年的学术论文。这些方式都无法生成适合发送给客户的成品。

pdf-it 只需一条命令。默认生成的内容就经过精心设计。

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 组件。

工作原理

  1. 解析: remark 将你的 Markdown 转换为 AST。
  2. 组合: AST 转换为类型化的 React 组件(封面、目录以及正文基础组件,如 H1/H2/H3、段落、代码块、引用、表格、列表和图表)。
  3. 渲染: @react-pdf/renderer 将 React 树栅格化为确定性 PDF,并嵌入字体和目录锚点。
  4. 输出: PDF 保存到 ~/Documents/pdf-it/{slug}-{timestamp}.pdf,并嵌入标题和作者元数据。

总耗时:5 页文档通常不到 1 秒,30 页文档约需 1–2 秒。

收录情况

已收录于 npm、Glama 和 LobeHub。

免责声明

这是一个非官方的社区构建工具。它与 Anthropic PBC 无关,也未获其认可或赞助。Claude 和 Claude Code 是 Anthropic PBC 的商标。

pdf-it 在本地运行,并自带渲染器(@react-pdf/renderer)和字体。使用风险自负。对于因误用、提示词注入、错误或渲染失败而引发的问题,作者不承担任何责任。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。