关于 view-pdf
用于处理现有 PDF 的交互式工作流技能,通过本地 PDF 服务和实时查看器支持审阅、批注、填写表单及放置签名图片;不用于总结 PDF 或制作认证签名。
主要功能
- 01在查看器中打开本地或 HTTPS PDF
- 02添加和管理批注
- 03以可视反馈填写 PDF 表单
- 04放置签名图片和印章
- 05导航、搜索并截取页面
适用场景
- 01协作审阅并标注合同
- 02填写表单并查看渲染结果
- 03在页面上放置姓名缩写或视觉签名
MCP 相关
它使用本地 PDF 服务向客户端提供文档查看与交互工具。该技能说明如何打开 PDF,并通过该服务发送后续操作。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ anthropics/ knowledge-work-plugins --skill view-pdf安装后在 Claude Code 中输入/view-pdf确认已加载。
详细介绍
PDF 查看器 — 交互式文档工作流
你可以访问一个本地 PDF 服务,它会在实时查看器中渲染文档,并让你进行批注、填写表单和放置签名,同时提供实时的视觉反馈。
何时使用此 Skill
当用户需要交互时,使用 PDF 查看器:
- “给我看看这份合同” / “打开这篇论文”
- “高亮关键条款,让我来审阅”
- “帮我填写这份表单”
- “在第 3 页签名” / “在每一页添加我的姓名缩写”
- “加盖 CONFIDENTIAL 印章” / “将其标记为已批准”
- “带我过一遍这份文档,并批注重要部分”
不要将查看器用于纯粹的内容获取:
- “总结这个 PDF” → 直接使用原生 Read 工具
- “第 5 页写了什么?” → 使用 Read
- “提取第 3 节中的表格” → 使用 Read
查看器的价值在于向用户展示文档,并与其协作完成标注,而不是将文本流式回传给你。
工具
list_pdfs
列出可用的本地 PDF 和允许访问的本地目录。无需参数。
display_pdf
在交互式查看器中打开 PDF。每个文档只调用一次。
url— 本地文件路径或 HTTPS URLpage— 初始页码(可选,默认 1)elicit_form_inputs— 若为true,则在显示前提示用户填写表单字段(用于交互式表单填写)
返回一个 viewUUID,需将其传递给每次 interact 调用。再次调用 display_pdf 会创建一个独立的查看器;使用新 UUID 的 interact 调用无法到达用户正在查看的那个查看器。
如果 PDF 含有可填写字段,还会返回 formFields(名称、类型、页码、边界框)——签名放置时请使用这些坐标。
interact
display_pdf 之后的所有后续操作。传入 viewUUID 以及一个或多个命令。在一次调用中批量执行多个命令,通过 commands 数组传入,它们会按顺序执行。批次结束时使用 get_screenshot 以直观地验证更改。
标注操作:
add_annotations— 添加标记(见下方类型)update_annotations— 修改已有标注(必须提供 id 和 type)remove_annotations— 按 id 数组删除highlight_text— 按查询自动查找文本并高亮(文本标记的首选方式,优于手动指定矩形)
导航操作:
navigate(page)、search(query)、find(query,静默)、search_navigate(matchIndex)、zoom(scale 0.5–3.0)
提取操作:
get_text— 提取指定页码范围的文本(最多 20 页)。用于读取内容以决定标注什么,而非用于总结。get_screenshot— 将页面截取为图像(用于验证你的标注)
表单操作:
fill_form— 填写命名字段:fields: [{name, value}, ...]
标注类型
所有标注都需要 id(唯一字符串)、type、page(从 1 开始计数)。
坐标单位为 PDF 点(1/72 英寸),原点位于左上角,Y 轴向下递增。美国信纸尺寸为 612×792pt。
| 类型 | 关键属性 | 用途 |
|---|---|---|
highlight | rects、color?、content? | 标记重要文本 |
underline | rects、color? | 强调术语 |
strikethrough | rects、color? | 标记删除内容 |
note | x、y、content、color? | 便签式批注 |
freetext | x、y、content、fontSize? | 页面上可见的文本 |
rectangle | x、y、width、height、color?、fillColor? | 框选区域 |
circle | x、y、width、height、color?、fillColor? | 圈选区域 |
line | x1、y1、x2、y2、color? | 绘制线条/箭头 |
stamp | x、y、label、color?、rotation? | APPROVED、DRAFT、CONFIDENTIAL 等 |
image | imageUrl、x?、y?、width?、height? | 签名、姓名缩写、徽标 |
图像标注接受本地文件路径或 HTTPS URL(不支持 data: URI)。若省略尺寸,则自动检测。用户也可以直接将图像拖放到查看器上。
交互式工作流
协作标注(AI 驱动)
- 使用
display_pdf打开文档 - 对相关页码范围执行
interact→get_text,以理解内容 - 向用户提议一批标注(说明将标注的内容)
- 获得批准后,执行
interact→add_annotations和get_screenshot - 展示给用户,询问修改意见,并反复迭代
- 完成后,提醒用户可以从查看器工具栏下载已标注的 PDF
表单填写(可视化,而非程序化)
与无界面的表单工具不同,此方式为用户提供实时可视化反馈,并能处理字段名晦涩或未命名的表单,即标签印在页面上而非写在字段元数据中的情况。
display_pdf:检查返回的formFields(名称、类型、页码、边界框)- 若字段名晦涩(如
Text1、Field_7),对页面执行get_screenshot,并将边界框与视觉标签进行匹配 - 使用视觉标签向用户询问取值,或根据上下文推断
- 执行
interact→fill_form,然后执行get_screenshot展示结果 - 用户直接在查看器中确认或编辑
对于简单且标签清晰的表单,可使用 display_pdf 并设置 elicit_form_inputs: true,改为预先向用户征询输入。
签名(可视化,非认证签名)
- 索取签名或缩写图片的路径
- 执行
display_pdf,检查formFields中的签名类型字段,或询问签名所在的页码和位置 - 在目标坐标处,执行
interact→add_annotations,并设置type: "image" - 执行
get_screenshot以确认放置位置
免责声明: 此操作仅放置可视签名图片,并非经认证的或基于密码学的数字签名。
支持的来源
- 本地文件(位于客户端 MCP roots 路径下)
- arXiv(
/abs/链接会自动转换为 PDF) - 任何可直接访问的 HTTPS PDF 链接(bioRxiv、Zenodo、OSF 等,请使用 PDF 直链,而非落地页)
不在范围内
- 摘要 / 文本提取:请改用原生 Read
- 认证数字签名:仅支持图片盖章
- PDF 创建:仅适用于已有的 PDF